Current monokai (pro or otherwise) seems too red and green,
missingthe bright aqua / cyan color found in Sublime's Monokai.
This adds a variant of monokai, which I named monokai_aqua.
* highlight(scala): update to fix crash
tree-sitter-scala has recently add a fix to workaround segv crashes in other editors.
Not sure if it happens to Helix as well, but it's probably a good idea to use the latest.
* highlight(scala): String interpolator support
This captures String interpolator as `function`
Co-authored-by: Chris Kipp <ckipp@pm.me>
* discern between rulers and whitespace, add sumiInk2
* darker background for menu and help, bold selection
* bold modifier for insert and select
* dark color for window separator
* bring ruler, whitespace, indent-guide together
The diagnostic indicator background did not match the column or rows background
colour as this was context specific, and the background for the indicator was
being explicitly set.
This commit removes the explicit value for the indicators background allowing
it to adapt to the context. This is aligns it with other themes, and resolves
the issue.
There have been a lot of changes in tree-sitter/tree-sitter-scala,
including partial support for Scala 3 syntax and breaking changes in
some of the nodes.
This bumps up the grammar to the latest, and adjusts the queries.
Co-authored-by: Anton Sviridov <keynmol@gmail.com>
Co-authored-by: Chris Kipp <ckipp@pm.me>
The grammar now exposes the delimiter of raw-strings.
We can now inject the inner grammar in cases like:
const char* script = R"js(
alert('hello world!');
)js";
* Fix kanagawa theme lint
Comprises 4 changes:
1. added "sumiInk3" as ui.cursorline.primary bg color
2. switched the cursor bg and fg colors (now in line with original theme)
3. added ui.menu and ui.selected colors
4. separated ui.selection and ui.selection.primary
* Add git gutter colors to kanagawa theme
In line with original:
autumnGreen for adds
autumnRed for deletes
autumnYellow for changes
* Add indent-guides and linenr.selected to kanagawa
* indent-guides are sumiInk4
* Add ui.linenr.selected is roninYellow
* Set ui.help bg to sumiInk1
Also fixes the color "gold" being used for too many kinds of diagnostics, now there's a more conventional choice of diagnostics colors (redish = error, yellowish = warning, blueish = hint).
HTML nodes should be combined injections in the markdown block
grammar. When nodes are together the highlighting works properly but
when there is markdown content between HTML nodes like in a `<details>`
tag, the highlighting of the closing tag breaks since tree-sitter-html
looks for opening and closing tags.
* added 2 themes
* diff feature fixes
adjusted the skin to better work with the new diff coloring features
propagates to child skins like
- hex_toxic
* fine tuning so it all is a bit softer
* fine tuning to be softer
* added new version, lavender
Both the racket and scheme entries used the rkt file-extension. This
commit removes that entry for scheme and so that the racket entry takes
precedence. We explicitly point to the scheme grammar now and setup
queries that inherit from scheme. This should enable using the racket
language server configuration.
Small adjustements to the fleetish theme to improve readability
in certain cases. Specifically:
- use darker background for menues as it (purely subjectively) loooks
better
- use different color for `constant.buildin.boolean` and
`keyword` to make statements such as `return true` read better
- use different colors for different markup link parts
- destructure the config where appliable
This update includes a handful of fixes, a new binary concatenation
operator (already highlighted by the `binary_operator` rule), and a
new `use` language construct. The nodes are backwards compatible but
this update introduces two new nodes for highlighting: `use` and `<-`.
This doesn't work robustly (within pattern matches). Only regular
bindings are highlighted as parameters. In order to highlight all
parameters even in matches, we would need an arbitrary nesting operator
in queries which doesn't exist yet in tree-sitter.
This highlights edoc within Erlang comments. The trick was to have
the Erlang grammar consume newlines and then give them to EDoc in the
injection to use so that line-wise elements could be parsed accurately.
In recap for chapter 5.1 specify that the cursor is duplicted to the next suitable line
instead of the next line.
Signed-off-by: Tobias Kohlbau <tobias@kohlbau.de>
- treat `restrict`/`_Atomic` like `const`/`volatile` => @keyword.storage.modifier
- highlight `unsigned int` as builtin => @type.builtin
- recognize `static_cast` and friends => @keyword
- `template` is a kind of entity like `typename` => @keyword.storage.type
- many declaration modifiers have nothing to do with storage/types
(explicit, friend, access specifiers, inline in C++) => @keyword
- fix floats highlighted as integer => @constant.numeric
* Keep arrow and special keys in insert
Advanced users won't need it and is useful for beginners.
Revert part of #3671.
* Change text for insert mode section
Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
* Remove ctrl-up/down in insert
* Reorganize insert keys and docs
* Improve page up experience on last tutor
The last tutor page can page down multiple times and it will break the
heading on the 80x24 screen paging when reaching the last page, this
keeps the style the same and make sure page up and down won't break it.
Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
This stanza highlights functions within trait definitions. For example,
in:
pub trait Widget {
fn render(self, area: Rect, buf: &mut Buffer);
}
`render` is currently highlighted as a variable. With this change it's
highlighted as a function.
Underline styles are mutally exclusive and overwrite each other.
Therefore implementing as an modifier lead to incorrect behaviour
when the underline style is overwritten.
For backwards compatability the "underline" modified is retained (but
deprecated). Instead the "underline_style" and "underline_color"
optios should be used to style underlines.
The cxterminfo crate has been used over popular alternatives
like `term` since it supports querying for extended capabilities
and also for it's small codebase size (which will make it easy
to inline it into helix in the future if required).
`do_block` and `block` seem to conflict, causing double-indentation in some cases. Removing `do_block` does not seem to have any negative effect, while fixing the double-indentation issue.
The tutor file is loaded as .txt which can potentially spawn a
language server. Then the path is unset, but the LS remains active.
This can cause panics since updates are now submitted for a doc
with no path.
As a quick workaround we remove the extension which should avoid
detection.
Fixes#3730
* avoid coloring `identifier`s globally
* fix function application when not part of `select_expression`
* add `has_attribute_expression` highlighting
* fix precendence for interpolation, which should be after select
* highlight `@` as delimiter
By simply placing a comment with the name of the desired language just
before a multi-line string, that language will be injected.
Also, common functions and attributes which are expected to be shell
code are automatically injected.