diff --git a/data/languages/asm/highlight.xml b/data/languages/asm/highlight.xml index 0126cfe..50de0d6 100644 --- a/data/languages/asm/highlight.xml +++ b/data/languages/asm/highlight.xml @@ -1,8 +1,6 @@ - *.s - *.S - *.asm + .*\.(s|S|asm) commentDoxygen diff --git a/data/languages/bash/highlight.xml b/data/languages/bash/highlight.xml index 59f06be..dd5b0ea 100644 --- a/data/languages/bash/highlight.xml +++ b/data/languages/bash/highlight.xml @@ -1,6 +1,6 @@ - *.sh + .*\.sh commentDoxygen diff --git a/data/languages/boo/highlight.xml b/data/languages/boo/highlight.xml index e394fa0..a9c72a1 100644 --- a/data/languages/boo/highlight.xml +++ b/data/languages/boo/highlight.xml @@ -1,6 +1,6 @@ - *.boo + .*\.boo SYNTAX_ERROR @@ -24,7 +24,6 @@ - TestResultOK 100% diff --git a/data/languages/c/highlight.xml b/data/languages/c/highlight.xml index 9740fbc..9292d5c 100644 --- a/data/languages/c/highlight.xml +++ b/data/languages/c/highlight.xml @@ -1,14 +1,6 @@ - *.c - *.cpp - *.cxx - *.cc - *.h - *.hpp - *.hxx - *.m - *.mm + .*\.(c|cpp|cxx|cc|h|hpp|hxx|m|mm) commentDoxygen @@ -28,7 +20,7 @@ preprocesseur - #[ \t]*if 0(.|\r|\n)*?(#endif|else) + #[ \t]*if 0(.|\r|\n)*?#(endif|else) SYNTAX_ERROR diff --git a/data/languages/cmake/highlight.xml b/data/languages/cmake/highlight.xml index e9989a8..2c1d492 100644 --- a/data/languages/cmake/highlight.xml +++ b/data/languages/cmake/highlight.xml @@ -1,23 +1,23 @@ - + CMakeLists.txt CMakeCache.txt commentDoxygen - ##.*?$ + ##.* SYNTAX_ERROR - #[ \t]TODO[ \t]*:(.|\\[\\\n])*?$ + #[ \t]TODO[ \t]*:(.|\\[\\\n])* comment - #(.|\\[\\\n])*?$ + #(.|\\[\\\n])* doubleQuoteText - "(.|\\[\\"])*?$ + "(.|\\[\\"])*?" @@ -27,7 +27,7 @@ systemFunction - \b(set|include_directories|add_definitions|add_library|include_directories|target_link_libraries|project|include|check_include_file|enable_testing|option|cmake_minimum_required|add_definitions|check_include_file|configure_file|include_directories|add_custom_command|add_executable|add_test)\b + \b(set|include_directories|add_definitions|add_library|include_directories|target_link_libraries|project|include|check_include_file|enable_testing|option|cmake_minimum_required|add_definitions|check_include_file|configure_file|include_directories|add_custom_command|add_executable|add_test|find_package|pkg_check_modules|set_target_properties|source_group)\b inputFunction @@ -45,5 +45,9 @@ functionName \b(\w|_)+[ \t]*\( + + memberClass + [\w-]*(\.|/)\w* + diff --git a/data/languages/glsl/highlight.xml b/data/languages/glsl/highlight.xml index 0f7bbb7..0a97c96 100644 --- a/data/languages/glsl/highlight.xml +++ b/data/languages/glsl/highlight.xml @@ -1,9 +1,6 @@ - *.glsl - *.vert - *.frag - *.prog + .*\.(glsl|vert|frag|prog) commentDoxygen diff --git a/data/languages/in/highlight.xml b/data/languages/in/highlight.xml index 1dc5000..33925ff 100644 --- a/data/languages/in/highlight.xml +++ b/data/languages/in/highlight.xml @@ -1,6 +1,6 @@ - *.in + .*\.in preprocesseur diff --git a/data/languages/java/highlight.xml b/data/languages/java/highlight.xml index 500a002..c19f128 100644 --- a/data/languages/java/highlight.xml +++ b/data/languages/java/highlight.xml @@ -1,6 +1,6 @@ - *.java + .*\.java commentDoxygen diff --git a/data/languages/json/highlight.xml b/data/languages/json/highlight.xml index fd54150..a0a9601 100644 --- a/data/languages/json/highlight.xml +++ b/data/languages/json/highlight.xml @@ -1,6 +1,6 @@ - *.json + .*\.json doubleQuoteText diff --git a/data/languages/lua/highlight.xml b/data/languages/lua/highlight.xml index 45753de..ea42b8c 100644 --- a/data/languages/lua/highlight.xml +++ b/data/languages/lua/highlight.xml @@ -1,6 +1,6 @@ - *.lua + .*\.lua comment diff --git a/data/languages/makefile/highlight.xml b/data/languages/makefile/highlight.xml index 995beb6..8e19015 100644 --- a/data/languages/makefile/highlight.xml +++ b/data/languages/makefile/highlight.xml @@ -1,8 +1,7 @@ Makefile - *.mk - *.global + .*\.(mk|global) preprocesseur @@ -32,7 +31,7 @@ boolean - :=|?=|!=|= + :=|\?=|!=|= diff --git a/data/languages/matlab/highlight.xml b/data/languages/matlab/highlight.xml index 1ef733c..50bf419 100644 --- a/data/languages/matlab/highlight.xml +++ b/data/languages/matlab/highlight.xml @@ -1,7 +1,6 @@ - *.m - *.M + .*\.(m|M) commentDoxygen @@ -35,7 +34,7 @@ functionName - \b((\w|_)+[ \t]*\( + \b(\w|_)+[ \t]*\( boolean diff --git a/data/languages/php/highlight.xml b/data/languages/php/highlight.xml index a7a8b7b..26b2c73 100644 --- a/data/languages/php/highlight.xml +++ b/data/languages/php/highlight.xml @@ -1,9 +1,6 @@ - *.php - *.php3 - *.php4 - *.phtml + .*\.(php|php3|php4|phtml) comment @@ -57,7 +54,7 @@ functionName - \b((\w|_)+[ \t]*\( + \b\w+[ \t]*\( boolean diff --git a/data/languages/python/highlight.xml b/data/languages/python/highlight.xml index 8e2b67e..c2d7301 100644 --- a/data/languages/python/highlight.xml +++ b/data/languages/python/highlight.xml @@ -1,22 +1,26 @@ - *.py + .*\.py comment - """.*?""" + """(.|\r|\n)*?""" comment - '''.*?''' + '''(.|\r|\n)*?''' + + + SYNTAX_ERROR + ("""|''')(.|\n|\r)* commentDoxygen - ##(.|\\[\\\n])*?$ + ##.* comment - #(.|\\[\\\n])*?$ + #.* doubleQuoteText @@ -64,11 +68,9 @@ boolean ==|<=|>=|!=|<{1,2}|>{1,2}|&&|\{|\} - - - macro - ([A-Z]|_){4,500} - doxElem + + SYNTAX_ERROR + '|" diff --git a/data/languages/xml/highlight.xml b/data/languages/xml/highlight.xml index 039d80c..a46ea63 100644 --- a/data/languages/xml/highlight.xml +++ b/data/languages/xml/highlight.xml @@ -1,7 +1,6 @@ - *.xml - *.svg + .*\.(xml|svg) comment diff --git a/sources/appl/Buffer.cpp b/sources/appl/Buffer.cpp index 6d56e1e..f80b8fd 100644 --- a/sources/appl/Buffer.cpp +++ b/sources/appl/Buffer.cpp @@ -691,7 +691,7 @@ void appl::Buffer::removeSelection() { void appl::Buffer::tryFindHighlightType() { etk::FSNode file(m_fileName); - std::string type = appl::highlightManager::getTypeExtention(file.fileGetExtention()); + std::string type = appl::highlightManager::getTypeFile(file.getNameFile()); if (type.size() == 0) { return; } diff --git a/sources/appl/Gui/MainWindows.cpp b/sources/appl/Gui/MainWindows.cpp index f3560a2..ad5b293 100644 --- a/sources/appl/Gui/MainWindows.cpp +++ b/sources/appl/Gui/MainWindows.cpp @@ -390,31 +390,13 @@ void MainWindows::displayProperty() { } else { #ifdef SDGSDFGSDFGSDFGSDFGSTERGDHFGHFDS std::string menuDescription = "Properties\n"; - menuDescription += "\n"; - menuDescription += " Editor\n"; - menuDescription += " \n"; - menuDescription += " Editor Interface\n"; - menuDescription += " Editor\n"; - menuDescription += " appl-text-viewer\n"; - menuDescription += " \n"; + menuDescription += "\n"; + menuDescription += " \n"; menuDescription += "\n"; - menuDescription += "\n"; - menuDescription += " Gui\n"; - menuDescription += " \n"; - menuDescription += " Font selection\n"; - menuDescription += " Font\n"; - menuDescription += " \n"; - menuDescription += " \n"; - menuDescription += " \n"; - menuDescription += " Color selection\n"; - menuDescription += " Color\n"; - menuDescription += " \n"; - menuDescription += " \n"; - menuDescription += " \n"; - menuDescription += " Theme selection\n"; - menuDescription += " Theme\n"; - menuDescription += " \n"; - menuDescription += " \n"; + menuDescription += "\n"; + menuDescription += " \n"; + menuDescription += " \n"; + menuDescription += " \n"; menuDescription += "\n"; tmpWidget->setMenu(menuDescription); diff --git a/sources/appl/Highlight.cpp b/sources/appl/Highlight.cpp index ae6cada..3afa75f 100644 --- a/sources/appl/Highlight.cpp +++ b/sources/appl/Highlight.cpp @@ -114,13 +114,28 @@ appl::Highlight::~Highlight() { m_listExtentions.clear(); } -bool appl::Highlight::hasExtention(const std::string& _ext) { +bool appl::Highlight::isCompatible(const std::string& _name) { for (auto &it : m_listExtentions) { - APPL_VERBOSE(" check : " << it << "=?=" << _ext); - if ( it == "*." + _ext - || it == _ext) { - return true; + APPL_VERBOSE(" check : " << it << "=?=" << _name); + std::regex expression; + try { + expression.assign(it, std::regex_constants::optimize | std::regex_constants::ECMAScript); + } catch (std::regex_error e) { + APPL_ERROR("can not parse regex : '" << e.what() << "' for : " << it); + continue; } + std::smatch resultMatch; + std::regex_search(_name.begin(), _name.end(), resultMatch, expression, std::regex_constants::match_continuous); + if (resultMatch.size() <= 0) { + continue; + } + if (resultMatch[0].first != _name.begin()) { + continue; + } + if (resultMatch[0].second != _name.end()) { + continue; + } + return true; } return false; } diff --git a/sources/appl/Highlight.h b/sources/appl/Highlight.h index 8dbb1ea..b4975d0 100644 --- a/sources/appl/Highlight.h +++ b/sources/appl/Highlight.h @@ -48,7 +48,7 @@ namespace appl { return m_typeName; } public: - bool hasExtention(const std::string& _ext); + bool isCompatible(const std::string& _name); bool fileNameCompatible(const std::string& _fileName); void display(); void parse(int64_t _start, diff --git a/sources/appl/HighlightManager.cpp b/sources/appl/HighlightManager.cpp index 447108b..7a3d95e 100644 --- a/sources/appl/HighlightManager.cpp +++ b/sources/appl/HighlightManager.cpp @@ -70,19 +70,19 @@ void appl::highlightManager::unInit() { hlList.clear(); } -std::string appl::highlightManager::getTypeExtention(const std::string& _extention) { - if (_extention.size() == 0) { +std::string appl::highlightManager::getTypeFile(const std::string& _fileName) { + if (_fileName.size() == 0) { return ""; } - APPL_DEBUG("Try to find type for extention : '" << _extention << "' in " << s_list().size() << " types"); + APPL_DEBUG("Try to find type for extention : '" << _fileName << "' in " << s_list().size() << " types"); std::vector>& hlList = s_list(); for (auto &it : hlList) { if (it == nullptr) { continue; } APPL_DEBUG(" check : " << it->getTypeName()); - if (it->hasExtention(_extention) == true) { - APPL_DEBUG("Find type for extention : " << _extention + if (it->isCompatible(_fileName) == true) { + APPL_DEBUG("Find type for extention : " << _fileName << " type : " << it->getTypeName()); return it->getTypeName(); } diff --git a/sources/appl/HighlightManager.h b/sources/appl/HighlightManager.h index d77de66..ec38a1f 100644 --- a/sources/appl/HighlightManager.h +++ b/sources/appl/HighlightManager.h @@ -27,10 +27,10 @@ namespace appl { void unInit(); /** * @brief Un-Init the Highlight manager - * @param[in] extention of the file + * @param[in] _fileName name of the file * @return type of highlight */ - std::string getTypeExtention(const std::string& _extention); + std::string getTypeFile(const std::string& _fileName); /** * @brief Get filename with type. * @param[in] _type Type name of the highlight. diff --git a/test/CMakeFile.txt b/test/CMakeFile.txt deleted file mode 100644 index e69de29..0000000 diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt new file mode 100644 index 0000000..9d6a38e --- /dev/null +++ b/test/CMakeLists.txt @@ -0,0 +1,52 @@ + +set(GAMEPLAY_SRC + src/AbsoluteLayout.cpp + src/AbsoluteLayout.h + src/BoundingBox.h + src/Transform.h + src/Vector2.cpp + src/Vector2.h + src/lua/lua_ThemeUVs.h + src/lua/lua_Touch.cpp + src/lua/lua_Touch.h + src/lua/lua_TouchTouchEvent.cpp + src/lua/lua_TouchTouchEvent +) +include_directories( + src + ../external-deps/lua/include + ../external-deps/bullet/include + ../external-deps/png/include + ../external-deps/zlib/include + ../external-deps/oggvorbis/include + ../external-deps/openal/include + ../external-deps/glew/include +) + +if(CMAKE_SYSTEM_NAME MATCHES "Linux") +find_package(PkgConfig REQUIRED) +pkg_check_modules(GTK2 REQUIRED gtk+-2.0) +include_directories(${GTK2_INCLUDE_DIRS}) +add_definitions(${GTK2_CFLAGS_OTHER}) +add_definitions(-D__linux__) +endif(CMAKE_SYSTEM_NAME MATCHES "Linux") + +add_definitions(-lstdc++) + +add_library(gameplay STATIC + ${GAMEPLAY_SRC} + ${GAMEPLAY_LUA} +) + +set_target_properties(gameplay PROPERTIES + OUTPUT_NAME "gameplay" + CLEAN_DIRECT_OUTPUT 1 + VERSION ${GAMEPLAY_VERSION} +) + +source_group(lua FILES ${GAMEPLAY_LUA}) +source_group(res FILES ${GAMEPLAY_RES} ${GAMEPLAY_RES} ${GAMEPLAY_RES_SHADERS} ${GAMEPLAY_RES_UI}) +source_group(src FILES ${GAMEPLAY_SRC}) + + + diff --git a/test/python.py b/test/python.py index e69de29..330e904 100644 --- a/test/python.py +++ b/test/python.py @@ -0,0 +1,44 @@ +#!/usr/bin/python +import lutinModule as module +import lutinTools as tools + +def get_desc(): + return "gameplay : video game engine (based on bullet lib)" + +""" + multline comment +""" +''' + multline comment +''' + +def create(target): + myModule = module.Module(__file__, 'gameplay', 'LIBRARY') + + # add the file to compile: + myModule.add_src_file([ + 'ege/debug.cpp', + 'ege/AudioElement.cpp', + 'ege/AudioEngine.cpp', + 'ege/Camera.cpp' + ]) + + # myModule.copy_folder('data/ParticuleMesh.*','') + + # name of the dependency + myModule.add_module_depend(['etk', 'ewol', 'bullet']) + + myModule.compile_flags_CC([ + '-Wno-write-strings', + '-Wall']) + + myModule.add_export_path(tools.get_current_path(__file__)) + + + # add the currrent module at the + return myModule + + + +""" +multline comment error ...