[DEV] add python parser and start work on the python makefile
This commit is contained in:
parent
91c1201f69
commit
b8c819936e
8
Makefile.py
Executable file
8
Makefile.py
Executable file
@ -0,0 +1,8 @@
|
||||
#!/usr/bin/python
|
||||
import make
|
||||
|
||||
make.ImportPath(make.GetCurrentPath(__file__) + "/sources/")
|
||||
make.ImportPath(make.GetCurrentPath(__file__) + "/../ewol/")
|
||||
|
||||
|
||||
make.Dump()
|
77
data/languages/python/highlight.xml
Normal file
77
data/languages/python/highlight.xml
Normal file
@ -0,0 +1,77 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<EdnLang version="0.1" lang="c">
|
||||
<ext>*.py</ext>
|
||||
<pass1><!-- multiline section & parse all file (now) and when modification retrive previous modification -->
|
||||
<rule name="my comment multiline">
|
||||
<color>comment</color>
|
||||
<start>"""</start>
|
||||
<end>"""</end>
|
||||
</rule>
|
||||
<rule name="my comment doxygen">
|
||||
<color>commentDoxygen</color>
|
||||
<start>##</start>
|
||||
<end>\n</end>
|
||||
</rule>
|
||||
<rule name="my comment">
|
||||
<color>comment</color>
|
||||
<start>#</start>
|
||||
<end>\n</end>
|
||||
<EscapeChar>\</EscapeChar>
|
||||
</rule>
|
||||
<rule name="doubleQuteText">
|
||||
<color>doubleQuoteText</color>
|
||||
<start>"</start>
|
||||
<end>"</end>
|
||||
<EscapeChar>\</EscapeChar>
|
||||
</rule>
|
||||
<rule name="simpleQuteText">
|
||||
<color>doubleQuoteText</color>
|
||||
<start>'</start>
|
||||
<end>'</end>
|
||||
</rule>
|
||||
</pass1>
|
||||
<pass2> <!-- Parse on display data ==> nor regenerate every display but every time modification apear -->
|
||||
<rule name="my keyword">
|
||||
<color>keyword</color>
|
||||
<start>\@if|else|elif|break|pass|continue|while|do|for|in|return\@</start>
|
||||
</rule>
|
||||
<rule name="my function keyword">
|
||||
<color>systemFunction</color>
|
||||
<start>\@print|len|range|del|__init__|self\@</start>
|
||||
</rule>
|
||||
<rule name="my type">
|
||||
<color>type</color>
|
||||
<start>\@bool|BOOL|char|double|float\@</start>
|
||||
</rule>
|
||||
<rule name="my storage keyword">
|
||||
<color>storageKeyword</color>
|
||||
<start>\@def|class\@</start>
|
||||
</rule>
|
||||
<rule name="numeric constant">
|
||||
<color>number</color>
|
||||
<start>\@((0(x|X)[0-9a-fA-F]*)|(\d+\.?\d*|\.\d+)((e|E)(\+|\-)?\d+)?)(L|l|UL|ul|u|U|F|f)?\@</start>
|
||||
</rule>
|
||||
<rule name="my boolean">
|
||||
<color>boolean</color>
|
||||
<start>\@True|False\@</start>
|
||||
</rule>
|
||||
<rule name="BIG LETTER">
|
||||
<color>macro</color>
|
||||
<start>\@[A-Z_][A-Z_0-9]{3,500}\@</start>
|
||||
</rule>
|
||||
<rule name="Function name">
|
||||
<color>functionName</color>
|
||||
<start>\@(\w|_)+[ \t]*\(</start>
|
||||
</rule>
|
||||
<rule name="condition">
|
||||
<color>boolean</color>
|
||||
<start>==|<=|>=|!=|<{1,2}|>{1,2}|&&|\{|\}|</start>
|
||||
</rule>
|
||||
<!-- With all elementes : -->
|
||||
<rule name="BIG LETTER">
|
||||
<color>macro</color>
|
||||
<start>([A-Z]|_){4,500}</start>
|
||||
<elemSubColor id="1">doxElem</elemSubColor>
|
||||
</rule>
|
||||
</pass2>
|
||||
</EdnLang>
|
22
generateAllRelease.sh
Executable file
22
generateAllRelease.sh
Executable file
@ -0,0 +1,22 @@
|
||||
#!/bin/bash
|
||||
#simply generate all ...
|
||||
echo "==============================="
|
||||
echo "== Linux =="
|
||||
echo "==============================="
|
||||
make CLANG=1 PLATFORM=Linux -j8
|
||||
make CLANG=1 PLATFORM=Linux final
|
||||
echo "==============================="
|
||||
echo "== Android =="
|
||||
echo "==============================="
|
||||
make PLATFORM=Android -j8
|
||||
make PLATFORM=Android final
|
||||
echo "==============================="
|
||||
echo "== Windows =="
|
||||
echo "==============================="
|
||||
make PLATFORM=Windows -j8
|
||||
make PLATFORM=Windows final
|
||||
echo "==============================="
|
||||
echo "== MacOs =="
|
||||
echo "==============================="
|
||||
make CLANG=1 PLATFORM=MacOs -j8
|
||||
make CLANG=1 PLATFORM=MacOs final
|
@ -32,7 +32,7 @@ Highlight::Highlight(etk::UString &xmlFilename)
|
||||
{
|
||||
TiXmlDocument XmlDocument;
|
||||
|
||||
etk::FSNode fileName(etk::UString("DATA:") + xmlFilename);
|
||||
etk::FSNode fileName(xmlFilename);
|
||||
if (false == fileName.Exist()) {
|
||||
APPL_ERROR("File Does not exist : " << fileName);
|
||||
return;
|
||||
|
@ -83,54 +83,19 @@ class localClassHighlightManager: public ewol::EObject
|
||||
|
||||
void loadLanguages(void)
|
||||
{
|
||||
etk::UString xmlFilename = "languages/c/highlight.xml";
|
||||
Highlight *myHightline = new Highlight(xmlFilename);
|
||||
listHighlight.PushBack(myHightline);
|
||||
|
||||
xmlFilename = "languages/boo/highlight.xml";
|
||||
myHightline = new Highlight(xmlFilename);
|
||||
listHighlight.PushBack(myHightline);
|
||||
|
||||
xmlFilename = "languages/makefile/highlight.xml";
|
||||
myHightline = new Highlight(xmlFilename);
|
||||
listHighlight.PushBack(myHightline);
|
||||
|
||||
xmlFilename = "languages/asm/highlight.xml";
|
||||
myHightline = new Highlight(xmlFilename);
|
||||
listHighlight.PushBack(myHightline);
|
||||
|
||||
xmlFilename = "languages/xml/highlight.xml";
|
||||
myHightline = new Highlight(xmlFilename);
|
||||
listHighlight.PushBack(myHightline);
|
||||
|
||||
xmlFilename = "languages/php/highlight.xml";
|
||||
myHightline = new Highlight(xmlFilename);
|
||||
listHighlight.PushBack(myHightline);
|
||||
|
||||
xmlFilename = "languages/bash/highlight.xml";
|
||||
myHightline = new Highlight(xmlFilename);
|
||||
listHighlight.PushBack(myHightline);
|
||||
|
||||
xmlFilename = "languages/matlab/highlight.xml";
|
||||
myHightline = new Highlight(xmlFilename);
|
||||
listHighlight.PushBack(myHightline);
|
||||
|
||||
xmlFilename = "languages/java/highlight.xml";
|
||||
myHightline = new Highlight(xmlFilename);
|
||||
listHighlight.PushBack(myHightline);
|
||||
|
||||
xmlFilename = "languages/lua/highlight.xml";
|
||||
myHightline = new Highlight(xmlFilename);
|
||||
listHighlight.PushBack(myHightline);
|
||||
|
||||
xmlFilename = "languages/in/highlight.xml";
|
||||
myHightline = new Highlight(xmlFilename);
|
||||
listHighlight.PushBack(myHightline);
|
||||
|
||||
xmlFilename = "languages/glsl/highlight.xml";
|
||||
myHightline = new Highlight(xmlFilename);
|
||||
listHighlight.PushBack(myHightline);
|
||||
|
||||
etk::FSNode myFile("DATA:languages/");
|
||||
// get the subfolder list :
|
||||
etk::Vector<etk::FSNode *> list = myFile.FolderGetSubList(false, true, false,false);
|
||||
for ( int32_t iii=0 ; iii<list.Size() ; iii++ ) {
|
||||
if (NULL!=list[iii]) {
|
||||
if (list[iii]->GetNodeType()==etk::FSN_FOLDER) {
|
||||
etk::UString filename = list[iii]->GetName() + "/highlight.xml";
|
||||
APPL_DEBUG("Load xml name : " << filename);
|
||||
Highlight *myHightline = new Highlight(filename);
|
||||
listHighlight.PushBack(myHightline);
|
||||
}
|
||||
}
|
||||
}
|
||||
//myHightline->Display();
|
||||
}
|
||||
|
||||
|
67
sources/edn_Linux.py
Executable file
67
sources/edn_Linux.py
Executable file
@ -0,0 +1,67 @@
|
||||
#!/usr/bin/python
|
||||
import make
|
||||
|
||||
# prevent erro integration
|
||||
#if 'myModule' in globals():
|
||||
# del myModule
|
||||
|
||||
# module name is 'edn' and type binary.
|
||||
myModule = make.module(__file__, 'edn', 'BINARY')
|
||||
# add the file to compile:
|
||||
myModule.AddSrcFile([
|
||||
'appl/ctags/readtags.cpp',
|
||||
'appl/ctags/CTagsManager.cpp'])
|
||||
|
||||
myModule.AddSrcFile([
|
||||
'appl/Debug.cpp',
|
||||
'appl/global.cpp',
|
||||
'appl/globalMsg.cpp',
|
||||
'appl/init.cpp'])
|
||||
|
||||
# Gui:
|
||||
myModule.AddSrcFile([
|
||||
'appl/Gui/BufferView.cpp',
|
||||
'appl/Gui/CodeView.cpp',
|
||||
'appl/Gui/MainWindows.cpp',
|
||||
'appl/Gui/Search.cpp',
|
||||
'appl/Gui/SearchData.cpp',
|
||||
'appl/Gui/TagFileSelection.cpp',
|
||||
'appl/Gui/TagFileList.cpp'])
|
||||
|
||||
# All needed for the buffer management :
|
||||
myModule.AddSrcFile([
|
||||
'appl/Buffer/EdnBuf/EdnBuf.cpp',
|
||||
'appl/Buffer/EdnBuf/EdnBuf_HighLight.cpp',
|
||||
'appl/Buffer/EdnBuf/EdnBuf_History.cpp',
|
||||
'appl/Buffer/EdnBuf/EdnBuf_Selection.cpp',
|
||||
'appl/Buffer/EdnBuf/EdnBufHistory.cpp',
|
||||
'appl/Buffer/BufferText.cpp',
|
||||
'appl/Buffer/BufferManager.cpp'])
|
||||
|
||||
# Generic color management for the text editor :
|
||||
myModule.AddSrcFile([
|
||||
'appl/Colorize/Colorize.cpp',
|
||||
'appl/Colorize/ColorizeManager.cpp'])
|
||||
|
||||
# syntax coloration for the text editor
|
||||
myModule.AddSrcFile([
|
||||
'appl/Highlight/HighlightPattern.cpp',
|
||||
'appl/Highlight/Highlight.cpp',
|
||||
'appl/Highlight/HighlightManager.cpp'])
|
||||
|
||||
myModule.AddModuleDepend('ewol')
|
||||
|
||||
#myModule.CompileFlags_LINK()
|
||||
#myModule.CompileFlags_CC()
|
||||
#myModule.CompileFlags_XX()
|
||||
#myModule.CompileFlags_M()
|
||||
#myModule.CompileFlags_MM()
|
||||
|
||||
myModule.CompileFlags_CC([
|
||||
'-DPROJECT_NAME="'+myModule.name+'"',
|
||||
'-DAPPL_VERSION_TAG_NAME="4.25.26.23.25.88"'])
|
||||
|
||||
myModule.CopyFile('../data/icon.png','icon.png')
|
||||
|
||||
# add the currrent module at the
|
||||
make.AddModule(myModule)
|
@ -58,6 +58,7 @@ LOCAL_COPY_FOLDERS := ../data/icon.*: \
|
||||
../data/languages/matlab/*.xml:languages/matlab/ \
|
||||
../data/languages/php/*.xml:languages/php/ \
|
||||
../data/languages/xml/*.xml:languages/xml/ \
|
||||
../data/languages/python/*.xml:languages/python/ \
|
||||
../data/theme/default/*.svg:theme/default/
|
||||
|
||||
LOCAL_COPY_FILES :=
|
||||
|
Loading…
x
Reference in New Issue
Block a user