Use `default` instead of `reset`, as this is the conventional name for ANSI codes 39/49. The word `reset` should be reserved for ANSI code `0`, which resets both fg and bg colors at once, while also removing all modifiers. While the code uses the value name `Reset`, this is misleading and should not leak into the user space.
Add new theme highlight keys, for setting the colour of the breakpoint
character and the current line at which execution has been paused at.
The two new keys are `ui.highlight.frameline` and `ui.debug.breakpoint`.
Highlight according to those keys, both the line at which debugging
is paused at and the breakpoint indicator.
Add an indicator for the current line at which execution is paused
at, themed by the `ui.debug.active` theme scope. Update various themes
to showcase how the new functionality works.
Better icons are dependent on #2869, and as such will be handled in the
future, once it lands.
Closes: #5952
Signed-off-by: Filip Dutescu <filip.dutescu@gmail.com>
* misc: missing inline, outdated link
* doc: Add new theme keys and config option to book
* fix: don't panic in Tree::try_get(view_id)
Necessary for later, where we could be receiving an LSP response
for a closed window, in which case we don't want to crash while
checking for its existence
* fix: reset idle timer on all mouse events
* refacto: Introduce Overlay::new and InlineAnnotation::new
* refacto: extract make_job_callback from Context::callback
* feat: add LSP display_inlay_hint option to config
* feat: communicate inlay hints support capabilities of helix to LSP server
* feat: Add function to request range of inlay hint from LSP
* feat: Save inlay hints in document, per view
* feat: Update inlay hints on document changes
* feat: Compute inlay hints on idle timeout
* nit: Add todo's about inlay hints for later
* fix: compute text annotations for current view in view.rs, not document.rs
* doc: Improve Document::text_annotations() description
* nit: getters don't use 'get_' in front
* fix: Drop inlay hints annotations on config refresh if necessary
* fix: padding theming for LSP inlay hints
* fix: tracking of outdated inlay hints should not be dependant on document revision (because of undos and such)
* fix: follow LSP spec and don't highlight padding as virtual text
* config: add some LSP inlay hint configs
* Rewrite and refactor all documentation
* Rewrite and refactor the guides
* update runtime directory instructions for windows
* Update the Ubuntu 3rd party repo section with 22.10
* Merge from upstream
* Rewrite and refactor all documentation
* Apply suggestions from code review
Apply the suggestions that can be committed from the GitHub web interface.
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* Add Windows themes folder
Co-authored-by: digidoor <37601466+digidoor@users.noreply.github.com>
* Apply the rest of the suggestions from the code review
* Revert "Apply the rest of the suggestions from the code review"
This reverts commit 498be1b7a1.
* Revert "Merge branch 'rewrite-and-refactor-all-documentation' of github.com:David-Else/helix into rewrite-and-refactor-all-documentation"
This reverts commit 7c8404248f, reversing
changes made to d932969cfc.
* Apply code review suggestions
* Changes after re-reading all documents
* Missed a full stop
* Code review suggestions and remove macOS and Windows specific sections
* Add OpenBSD to heading
* Add back macOS and Windows sections and further simplify and improve
* Change wording to nightly
* Remove README installation section and turn into a link
* Simplify building from source and follow code review suggestions
* Code review revisions
* Fix copy paste mistake
* Apply the latest code review suggestions
* More small code review items
* Change minor modes for code review
* Fix link and typos
* Add note that you need a c++ compiler to install the tree-sitter grammars
* Add pacman example
* Make sure all headings are lower case
* Revert to the original passage adding a reference to Windows that was missing
* Update book/src/guides/adding_languages.md
Fix grammar typo
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* Update book/src/install.md
Fix tree sitter typo
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* Remove TOC links to main heading
---------
Co-authored-by: CptPotato <3957610+CptPotato@users.noreply.github.com>
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
Co-authored-by: digidoor <37601466+digidoor@users.noreply.github.com>
This is an attempt to clean up the inconsistent way that keys are
written in various places. These rules require the fewest changes to the
existing text.
Use the "Key name", as defined in remapping.md, which uses
"Some-Modifiers-PascalCaseKey". The "Representation", which uses
"S-M-lowercasekey", is only used for configuration entries.
For key combinations which do not present a popup, just present the keys
one after the other, with no intervening space, like `]p`.
For key combinations which present a popup, separate them with ` + `,
like `Space + f`.
The Ctrl modifier is called Ctrl, not Control.
* Implement cursorcolumn
* Add documentation
* Separate column style from line with fallback
* Fallback to cursorcolumn first
* Switch to non-fallback try_get_exact
Add new function `try_get_exact`, which doesn't perform fallback,
and use that instead because the fallback behaviour is being handled
manually.
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.
* feat: cargo xtask themelint <theme>
* fix: add docs and print json error status
* fix: refactor paths -> path
* fix: remove unused function
* fix: only report one err per scope (ui.statusline is reported if none of ui.statusline.* is recognized)
* fix: save work for later
* fix: finally decided on a design
* fix: ready for discussion
* fix: better rules
* fix: lint precision
* fix: String -> &'static str
* fix: allowlist not denylist for file type
* fix: add missing and indication of what's needed
* fix: copy pasteable errors
* fix: use Loader:read_names
* Update xtask/src/helpers.rs
Co-authored-by: Ivan Tham <pickfire@riseup.net>
* fix: remove into and clone for str
* Update book/src/themes.md
Co-authored-by: Ivan Tham <pickfire@riseup.net>
* fix: better lint output
* fix: cleaner logic for lint reporting
* style: use explicit imports
* Pascal support (#3542)
* fix: add difference check for statusline normal,insert,select
* fix: fg for whitespace and early exit if and one is ok
* chore: cleaning up, no idea how these got here or how this will look
* chore: revert from older commit?
* refactor: use static fn to equalize api between difference and existance
* refactor: querycheck and clippy
* refactor: clippy fixes
* fix: query-check behaves as before
* fix: error with x of y message, not total count
* fix: consistent reporting and less mutable state
* fix: selection difference ref #3942 ref #1833
Co-authored-by: Ivan Tham <pickfire@riseup.net>
Co-authored-by: ath3 <45574139+ath3@users.noreply.github.com>
* Add mode specific styles
In similar vein to neovim's lualine and similar statusline packages this
allows helix users to style their mode based on which mode it is thus
making each mode more visually distinct at a glance
* Add an example based on rosepine
* Add editor.colors-mode config
* Document statusline mode styles
* feat(theme): add separate diagnostic colors
This commit adds separate diagnostic highlight colors for the different
types of LSP severities. If the severity type doesn't exist or is
unknown, we use some fallback coloring which was in use before this
commit.
Some initial color options were also added in the theme.toml
Resolves issue #2157
* feat(theme): add docs for new diagnostic options
* feat(theme): adjust defaults & reduce redundancy
- the different colors for different diagnostic severities are now
disabled in the default theme, instead diagnostics are just generally
underlined (as prior to the changes of this feature)
- the theme querying is now done once instead of every iteration in the
loop of processing every diagnostic message
* Added more descriptions to the themes part of the docs
* Add more descriptions to themes section of the docs
* capitalised first letters of descriptions in docs
Co-authored-by: Joe Mckay <jm@pop-os.localdomain>