- [X] basic font-locking
- [X] syntax-table? see java-ts-mode for an example
- [X] eask/project/testing (c-ts-tests) setup
- [X] imenu
- [X] whichfunc
- [X] treesit-defun-name-function / treesit-defun-type-regexp
- [X] rework the grammar’s Makefile to use a global tree-sitter-cli instance (and install it as well)
- [-] simple indentation
- [X] if
- [X] while
- [X] do/while
- [X] for
- [X] break/continue
- [X] switch/case
- [X] case labels
- [X] break
- [X] default
- [X] parameter/argument lists
- [X] function calls
- [X] multiline binary expressions
- [X] multiline assignment expressions
- [ ] frame functions
- [ ] comments
- [ ] comment/uncomment sometimes reports lack of comment syntax defined on C-M-;
- [ ] compilation utilities similar to what quakec-mode uses
- [ ] full font-locking (enums and more, work from the grammar)
- [ ] constants
- [ ] enums
- [ ] for loop highlighting (int a = 1; … ) - not highlighted
- [ ] TRUE/FALSE constants
- [ ] function call arguments (no color? should be variables)
- [ ] right-hand assignments not highlighted
- [ ] indentation, take 2
- [ ] enums
- [ ] funcalls, take 2 (how to match first named field with a given name? maybe introdce an argument list node into the grammar?)
- [ ] navigation
- [ ] xref/tags
- [ ] review hte way syntax highlighting is organised (consult c-ts-mode or java-ts-mode)
- [ ] do I need to tie the mode to a precise grammar commit or a tag?