File: JavaScriptSyntaxColourThread.cpp

package info (click to toggle)
codelite 10.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 71,364 kB
  • sloc: cpp: 415,397; ansic: 18,277; php: 9,547; lex: 4,181; yacc: 2,820; python: 2,294; sh: 383; makefile: 51; xml: 13
file content (43 lines) | stat: -rw-r--r-- 1,381 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include "JavaScriptSyntaxColourThread.h"
#include "macros.h"
#include "JavaScriptFunctionsLocator.h"
#include "CxxPreProcessor.h"
#include "webtools.h"

JavaScriptSyntaxColourThread::JavaScriptSyntaxColourThread(WebTools* plugin)
    : m_plugin(plugin)
{
}

JavaScriptSyntaxColourThread::~JavaScriptSyntaxColourThread() {}

void JavaScriptSyntaxColourThread::ProcessRequest(ThreadRequest* request)
{
    JavaScriptSyntaxColourThread::Request* req = dynamic_cast<JavaScriptSyntaxColourThread::Request*>(request);
    CHECK_PTR_RET(req);

    JavaScriptFunctionsLocator collector(req->filename, req->content);
    collector.Parse();
    
    JavaScriptSyntaxColourThread::Reply reply;
    reply.filename = req->filename;
    reply.functions = collector.GetFunctionsString();
    reply.properties = collector.GetPropertiesString();
    
    m_plugin->CallAfter(&WebTools::ColourJavaScript, reply);
}

void JavaScriptSyntaxColourThread::QueueFile(const wxString& filename)
{
    JavaScriptSyntaxColourThread::Request* req = new JavaScriptSyntaxColourThread::Request();
    req->filename = filename;
    Add(req);
}

void JavaScriptSyntaxColourThread::QueueBuffer(const wxString& filename, const wxString& content)
{
    JavaScriptSyntaxColourThread::Request* req = new JavaScriptSyntaxColourThread::Request();
    req->filename = filename;
    req->content = content;
    Add(req);
}