This PR adds support for the Dart language: 1. It uses the Dart lexer which has been recently merged to lexilla 2. The keywords are based on Notepad4 keywords 3. Build menu settings is based on https://github.com/geany/geany/pull/3372 You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/3973
-- Commit Summary --
* Add Dart support
-- File Changes --
M data/Makefile.am (1) A data/filedefs/filetypes.dart (82) M data/filetype_extensions.conf (1) M meson.build (1) M scintilla/Makefile.am (1) M scintilla/lexilla/include/SciLexer.h (29) A scintilla/lexilla/lexers/LexDart.cxx (702) M scintilla/lexilla/src/Lexilla.cxx (3) M scintilla/scintilla_changes.patch (1) M src/editor.c (2) M src/filetypes.c (4) M src/filetypes.h (1) M src/highlighting.c (18) M src/highlightingmappings.h (42)
-- Patch Links --
https://github.com/geany/geany/pull/3973.patch https://github.com/geany/geany/pull/3973.diff
@techee pushed 1 commit.
f55f2f71f34a5d8efcfe658837c5223f21aef781 Add Dart support
@b4n commented on this pull request.
LGTM from little review and testing apart from: * the comment about the patch file * the absence of tags parsing. the custom filetype version uses Java, which seems to do a decent job (beware that not knowing the language, I just copied a couple of samples and lanced at the results), should this one do the same?
@@ -84,6 +84,7 @@ index cd4b23617..af4a73db4 100644
+ &lmCPP, + &lmCss, + &lmD, ++ &lmDart,
As this isn't updating the chunk header, it's gonna corrupt the patch, isn't it?
@@ -84,6 +84,7 @@ index cd4b23617..af4a73db4 100644
+ &lmCPP, + &lmCss, + &lmD, ++ &lmDart,
…well OK, it's already broken since at least a9363bc15d2c66ea91eeec923961f93e41bff216, but is that an excuse? :)
@techee commented on this pull request.
@@ -84,6 +84,7 @@ index cd4b23617..af4a73db4 100644
+ &lmCPP, + &lmCss, + &lmD, ++ &lmDart,
Yeah, sorry, I've been blindly following the instructions in HACKING without thinking much for quite some time ;-).
I've just created https://github.com/geany/geany/pull/3991 to better describe how the patch file should be modified when adding a lexer.
the absence of tags parsing. the custom filetype version uses Java, which seems to do a decent job (beware that not knowing the language, I just copied a couple of samples and lanced at the results), should this one do the same?
This is what I wanted to test but then forgot about it. I'll add it.
@techee pushed 4 commits.
c53b71c826a78b874775a7fe4a4abbf677f9d293 Add Dart support b882dd78e79c661c6b626ededd4c3a81f391e836 Fix patch file c7e5cd9932ec475b6905df2ccb373f260668c838 Use Java ctags parser for Dart 0954e57560437d5678856325674b359f825fd440 Use the latest SciLexer.h from lexilla
@techee pushed 1 commit.
92d44be763eb1f88920adc09171bbcfeec84e14b Change type highlighting mapping
@techee pushed 1 commit.
c8586cb7893982a7ff4b10d39a18128063ada030 Add Dart support
@b4n I've rebased this PR on top of master, resolved conflicts and updated build commands based on https://github.com/geany/geany/issues/371#issuecomment-2408607518 (I didn't receive any feedback there but I think it can be easily modified if users report problems with them).
@b4n approved this pull request.
LGBI and compared to previous version should also work fine 👍
Merged #3973 into master.
github-comments@lists.geany.org