summaryrefslogtreecommitdiff
path: root/helix-view/src
Commit message (Collapse)AuthorAge
* Add `:write!` to create nonexistent subdirectories (#1839)Omnikar2022-04-12
| | | | | | | * Make `:write` create nonexistent subdirectories Prompting as to whether this should take place remains a TODO. * Move subdirectory creation to new `w!` command
* Add runtime language configuration (#1794) (#1866)Roland Kovacs2022-04-05
| | | | | | | | | | | | | | | | | | | | | * Add runtime language configuration (#1794) * Add set-language typable command to change the language of current buffer. * Add completer for available language options. * Update set-language to refresh language server as well * Add language id based config lookup on `syntax::Loader`. * Add `Document::set_language3` to set programming language based on language id. * Update `Editor::refresh_language_server` to try language detection only if language is not already set. * Remove language detection from Editor::refresh_language_server * Move document language detection to where the scratch buffer is saved. * Rename Document::set_language3 to Document::set_language_by_language_id. * Remove unnecessary clone in completers::language
* Reintroduce win32yank as a clipboard provider on Linux for WSL2 + Windows 10 ↵جاد2022-04-01
| | | | | | | | | (#1912) * feat(clipboard): reintroduce win32yank for wsl2 linux * refactor(clipboard): adjust win32yank position to not interrupt wayland/x11 Co-authored-by: jiqb <gthbji@ml1.net>
* fix: Don't rely on FormattingOptions::default()Blaž Hrastnik2022-03-30
| | | | Refs #1884
* clipboard: fix import on macOSBlaž Hrastnik2022-03-28
|
* cargo fmtBlaž Hrastnik2022-03-28
|
* Refactor clipboard to make it easier to feature gate std::processBlaž Hrastnik2022-03-28
|
* Split off dap event handlers into helix-view to allow reuseBlaž Hrastnik2022-03-28
|
* Move top level lsp config to editor.lsp (#1868)Gokul Soumya2022-03-28
| | | | | | | | | | | * Move top level lsp config to editor.lsp This is mainly done to accomodate the new lsp.signature-help config option that will be introduced in https://github.com/helix-editor/helix/pull/1755 which will have to be accessed by commands. The top level config struct is split and moved to different places, making the relocation necessary * Revert rebase slipup
* Add refresh-config and open-config command (#1803)Joe2022-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add refresh-config and open-config command * clippy * Use dynamic dispatch for editor config * Refactor Result::Ok to Ok * Remove unused import * cargo fmt * Modify config error handling * cargo xtask docgen * impl display for ConfigLoadError * cargo fmt * Put keymaps behind dyn access, refactor config.load() * Update command names * Update helix-term/src/application.rs Co-authored-by: Blaž Hrastnik <blaz@mxxn.io> * Switch to unbounded_channel * Remove --edit-config command * Update configuration docs * Revert "Put keymaps behind dyn access", too hard This reverts commit 06bad8cf492b9331d0a2d1e9242f3ad4e2c1cf79. * Add refresh for keys * Refactor default_keymaps, fix config default, add test * swap -> store, remove unneeded clone * cargo fmt * Rename default_keymaps to default Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
* Refactor :set to parse by deserializing values (#1799)Gokul Soumya2022-03-15
| | | | | * Refactor :set to parse by deserializing values * Implement serialize for idle_timeout config
* fix: text_pos_at_screen_coords testsBlaž Hrastnik2022-03-04
|
* Fix tab rendering to use dynamic tab widthBlaž Hrastnik2022-03-04
| | | | | | Each tab is just wide enough to round to the nearest tab stop. Refs #1243
* Reuse visual_coords_at_pos function in viewBlaž Hrastnik2022-03-04
|
* Fallback to broader scope if theme scope not found (#1714)Gokul Soumya2022-03-04
|
* minor: Remove some outdated commentsBlaž Hrastnik2022-03-03
|
* Simplify get_clipboard_provider by defining one per hostBlaž Hrastnik2022-03-03
|
* Make repeat operator work with completion edits (#1640)Mateusz S. Szczygieł2022-03-01
| | | | | | | | | | | * add basic completion replay * use transaction as the last completion * completion replay only on trigger position * cache changes in CompletionAction Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
* Show infobox to hint textobjects with `mi` and `ma` (#1686)Daniel S Poulin2022-03-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Show infobox to hint textobjects with `mi` and `ma` * Add note to infobox than any pair of characters will work too The wording could probably be a little more clear, but I wanted to keep it short but still accurate. * Don't allocate a vec for the static help text * Fix bug where `mi<esc>` would swallow next input and persist infobox * Better help text for arbitrary pair matching in textobject selection * Add way to add fake pending key data below status, use with `mi`/`ma` This is a bit hacky as it makes use of global state which will end up managed in multiple places, but has precedent in the way autoinfo works. There should probably be a bigger refactor to handle this kind of state better. * Return early on anything other than `mi` and `ma` for autoinfo * Remove "ascii" from help text with `mi` and `ma` * Update helix-term/src/ui/editor.rs Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
* Configurable auto pairs (#1624)Skyler Hawthorne2022-02-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * impl auto pairs config Implements configuration for which pairs of tokens get auto completed. In order to help with this, the logic for when *not* to auto complete has been generalized from a specific hardcoded list of characters to simply testing if the next/prev char is alphanumeric. It is possible to configure a global list of pairs as well as at the language level. The language config will take precedence over the global config. * rename AutoPair -> Pair * clean up insert_char command * remove Rc * remove some explicit cloning with another impl * fix lint * review comments * global auto-pairs = false takes precedence over language settings * make clippy happy * print out editor config on startup * move auto pairs accessor into Document * rearrange auto pair doc comment * use pattern in Froms
* Extract a lsp position helperBlaž Hrastnik2022-02-18
|
* helix-term/commands: display buffer id in pickerCole Helbling2022-02-17
|
* Allow static strings in set_status/set_error so API is nicerBlaž Hrastnik2022-02-15
|
* Merge remote-tracking branch 'origin/master' into debugBlaž Hrastnik2022-02-13
|\
| * feat(editor): add config for search wrap_around (#1516)Matouš Dzivjak2022-02-10
| | | | | | | | | | | | | | | | | | * feat(editor): add config for search wrap_around Fixes: https://github.com/helix-editor/helix/issues/1489 * Move search settings into separate config * Disable linter
| * Refactor document methodsGokul Soumya2022-02-10
| |
| * Handle newlines in register infoboxGokul Soumya2022-02-10
| |
| * Show infobox with register contentsGokul Soumya2022-02-10
| |
| * Fix incorrect last modified behavior (#1621)Ivan Tham2022-02-06
| | | | | | Looks like it checked the wrong doc id when setting last modified doc.
| * feat(helix-view): dynamic line numbers (#1522)Andrew Neth2022-01-25
| | | | | | | | | | | | | | * feat(helix-view): dynamic line numbers * docs: describe editor.line-number in more detail * Make dynamic numbers the default behavior of `relative`
| * Fix Clippy lints in tests (#1563)Omnikar2022-01-23
| | | | | | Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
| * Merge pull request #1154 from sudormrfbin/cursor-shape-newBlaž Hrastnik2022-01-23
| |\ | | | | | | Change cursor shape on mode change
| | * Merge branch 'master' into cursor-shape-newGokul Soumya2022-01-09
| | |\
| | * \ Merge branch 'master' into cursor-shape-newGokul Soumya2022-01-06
| | |\ \
| | * | | Manually draw all block cursorsGokul Soumya2021-12-23
| | | | |
| | * | | Merge branch 'master' into cursor-shape-newGokul Soumya2021-12-18
| | |\ \ \
| | * | | | Remove ui.cursor.primary and hashmap lookupsGokul Soumya2021-12-18
| | | | | |
| | * | | | Change default cursors to block for all modesGokul Soumya2021-11-29
| | | | | |
| | * | | | Use serde attribute to rename to lowercaseGokul Soumya2021-11-25
| | | | | |
| | * | | | Change cursor shape on mode changeGokul Soumya2021-11-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #323. Due to terminal limitations we can only change the shape of the primary cursor.
| * | | | | cargo fmt + clippy lintBlaž Hrastnik2022-01-23
| | | | | |
| * | | | | Store theme scopes on the loader, this way theme isn't passed aroundBlaž Hrastnik2022-01-23
| | | | | |
| * | | | | syntax: Split parsing and highlightingBlaž Hrastnik2022-01-23
| | | | | |
| * | | | | Update to rust 1.58, fix a bunch of optional lintsBlaž Hrastnik2022-01-16
| | | | | |
| * | | | | Fix panics when resizing (#1408)Mathis Brossier2022-01-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Change buffer.get & buffer.get_mut to return Option, Implement Trait Index & IndexMut to panic * Prevent FilePicker from drawing outside buffer (rust panics) * apply suggestion * add function in_bounds to avoid useless calculations Co-authored-by: mathis <mathis.brossier@universite-paris-saclay.fr>
| * | | | | Use the correct language ID for JavaScript & TypeScript (#1466)Kevin Sjöberg2022-01-15
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Use correct language ID for JavaScript/TypeScript * Add missing slash * Only calculate fallback when needed
| * | | | Put some tests behind #[cfg(test)] (#1459)Benoît Cortier2022-01-08
| | |_|/ | |/| | | | | | It was missing in a few places.
| * | | feat(commands): shrink_selection (#1340)Matouš Dzivjak2022-01-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * feat(commands): shrink_selection Add `shrink_selection` command that can be used to shrink previously expanded selection. To make `shrink_selection` work it was necessary to add selection history to the Document since we want to shrink the selection towards the syntax tree node that was initially selected. Selection history is cleared any time the user changes selection other way than by `expand_selection`. This ensures that we don't get some funky edge cases when user calls `shrink_selection`. Related: https://github.com/helix-editor/helix/discussions/1328 * Refactor shrink_selection, move history to view * Remove useless comment * Add default key mapping for extend&shrink selection * Rework contains_selection method * Shrink selection without expand selects first child
| * | | Extract macro parsing to `helix-view` and add unit testsOmnikar2021-12-27
| | | |
| * | | Update settings at runtime (#798)Tamo2021-12-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * feat: Update settings at runtime fix the clippy warning * update the documentation * use to_value instead of to_vec+from_value * drop the equal * remove an useless comment * apply suggestion