This commit adds TOML configuration language support to Geany. It uses the recently merged Scintilla TOML lexer; for ctags parsing it uses the conf file parser which works reasonably well for TOML as well.
See https://github.com/ScintillaOrg/lexilla/pull/261
Fixes #1268 You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/3934
-- Commit Summary --
* Add TOML support
-- File Changes --
M data/Makefile.am (1) A data/filedefs/filetypes.toml (57) M data/filetype_extensions.conf (1) M meson.build (1) M scintilla/Makefile.am (1) M scintilla/lexilla/include/SciLexer.h (16) A scintilla/lexilla/lexers/LexTOML.cxx (486) M scintilla/lexilla/src/Lexilla.cxx (2) M scintilla/scintilla_changes.patch (1) M src/filetypes.c (1) M src/filetypes.h (1) M src/highlighting.c (11) M src/highlightingmappings.h (27)
-- Patch Links --
https://github.com/geany/geany/pull/3934.patch https://github.com/geany/geany/pull/3934.diff
@techee: There is a TOML parser in ctags, it was merged last week: https://github.com/universal-ctags/ctags/pull/3509 It should be possible to use it after next ctags update (it is not officially released yet).
@dolik-rce Thanks for the info. For now at least I think we'll stick with the ini parser - see my reply in https://github.com/universal-ctags/ctags/pull/4052
For now at least I think we'll stick with the ini parser
Probably good idea nearing a release, import the ctags parser (and peg infrastructure) with the next ctags update after release.
On the topic of speed, given the usual size of TOML files its probably not greatly important.
Probably good idea nearing a release, import the ctags parser (and peg infrastructure) with the next ctags update after release.
I think there's no peg infrastructure - the peg parser generator generates a completely self-contained and standard ctags parser.
Maybe it's completely irrational but I'm kind of worried about the unreviewable and undebuggable code we'd have to include to Geany for PEG parsers. For TOML it's about 5000 LOC C blob.
@techee pushed 1 commit.
39a9f53314d628eeab413b1fd5d6c8a96d86e030 Modify iniconv parser to allow . and - in keys
@techee pushed 1 commit.
cb86e33b60c38cd3a6301f27b34278ad8d623471 Fix spaces between dots incorrectly marked as errors
I think there's no peg infrastructure - the peg parser generator generates a completely self-contained and standard ctags parser.
Its a build time thing IIUC, don't we have to include and build packcc since it doesn't seem to be packaged by debuntumint at least.
@techee pushed 2 commits.
704c6c232fe278a1f7782a272c5de3bc85337db2 Add TOML support 9eacd84381c1e8efcf4b3bb4a67b1c44c77d4818 Modify iniconv parser to allow . and - in keys
github-comments@lists.geany.org