Merge branch 'spring-refactoring'
# Conflicts:
# changelog.md
don't dynamically highlight globals in strings and comments
make fennel-mode-annotate-completion obsolete
This feature wasn't robust, given how completions are implemented in
fennel-mode it could either break completions completely or print
wrong candidate kinds if REPL actively printed something
remove special reloading mechanism in favor of ,reload command
Bump to 0.9.3 dev version
fix the xref backend and remove the old implementation
fennel-find-module-definition was broken for some time, and
fennel-find-definition-pop was left unused since XREF integration was
added in dd7a320b1582b726d011f4fca24d36614b5ffba8. Using C-u M-. does
the same thing as the old M-' shortcut
fix byte-compilation warnings
add project integration with project.el and projectile
add option for disabling proto-repl log messages
add history variable for module names
fix a proto-repl-tests in batch mode, update protocol to 0.6.1
highlight macros coming from a symbol defined via import-macros
Add info about dynamic font locking
Fix some fennel-proto-repl tests
Replace if-let and when-let with if-let* and when-let*
Both if-let and when-let will be deprecated in Emacs 31. The if-let*
and when-let* variants were introduced in Emacs 26, which is the
minimal version fennel-mode supports.
Make scoped font-locking more robust
This includes traversing scopes up, if the first scope check failed,
and fixes a flickering bug. Globals are unscoped by their nature, so
their highlighting is done separately with a more involved regular
expression.
Add scoped dynamic macro font-locking and customization