aboutsummaryrefslogtreecommitdiff
path: root/helix-view/src/document.rs
Commit message (Collapse)AuthorAge
* Fix initial selection of Document in new viewSkyler Hawthorne2022-06-19
| | | | | | | | | | | When a new View of a Document is created, a default cursor of 0, 0 is created, and it does not get normalized to a single width cursor until at least one movement of the cursor happens. This appears to have no practical negative effect that I could find, but it makes tests difficult to work with, since the initial selection is not what you expect it to be. This changes the initial selection of a new View to be the width of the first grapheme in the text.
* minor: Simplify Document.language_id()Blaž Hrastnik2022-06-06
|
* Passing extra formatting options to LSPs (#2635)farwyler2022-06-05
| | | | | | | | | | | | | * allows passing extra formatting options to LSPs - adds optional field 'format' to [[language]] sections in 'languages.toml' - passes specified options the LSPs via FormattingOptions * cleaner conversion of formatting properties * move formatting options inside lsp::Client * cleans up formatting properties merge
* fix typos (#2304)chunghha2022-04-27
|
* 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
* fix: Don't rely on FormattingOptions::default()Blaž Hrastnik2022-03-30
| | | | Refs #1884
* 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
|
* Refactor document methodsGokul Soumya2022-02-10
|
* 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-06
| |\
| * \ Merge branch 'master' into cursor-shape-newGokul Soumya2021-12-18
| |\ \
| * | | Remove ui.cursor.primary and hashmap lookupsGokul Soumya2021-12-18
| | | |
* | | | 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
| | | |
* | | | 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
* | | feat(ui): file encoding in statusline (#1355)Matouš Dzivjak2021-12-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * feat(ui): file encoding in statusline Display file encoding in statusline if the encoding isn't UTF-8. * Re-export encoding_rs from core From there it can be imported by other mods that rely on it.
* | | Improve dedent behavior (#1232)WindSoilder2021-12-21
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tmp add code for dedent * finish normal_mode with dedent behavior * use function pointer * rebase from origin * check dedent condition inside normal_mode implementation * using if let... * fix check * using char_is_whitespace instead of ch.is_whitespace * fix clippy * abstract restore_indent function
* | Add last modified file (gm) (#1093)Ivan Tham2021-12-02
|/
* Implement "Goto last modification" command (#1067)ath32021-11-14
|
* helix-term/commands: move SCRATCH_BUFFER_NAME to helix-view/document (#1091)Cole Helbling2021-11-13
| | | | This way, the name is accessible everywhere `Document` and related types are.
* Fix earlier/later missing changeset update (#1069)Ivan Tham2021-11-11
| | | Fix #1059
* Refactor shebang detection to reuse the loaded bufferBlaž Hrastnik2021-11-08
|
* Detect filetype from shebang line (#1001)ath32021-11-08
|
* Make sure document diagnostics are sortedBlaž Hrastnik2021-11-06
|
* Inform when reaching undo/redo bounds (#981)Omnikar2021-11-05
| | | | | | | | * Inform when reaching undo/redo bounds * `Already at oldest change` when undo fails * `Already at newest change` when redo fails * Add missing `the`
* Uncomment mapping LSP diagnostics through changes (#925)Kirawi2021-10-29
|
* set_path: Pass in the function directlyBlaž Hrastnik2021-10-28
|
* Simplify set_pathBlaž Hrastnik2021-10-28
|
* Implement `hx --tutor` and `:tutor` to load `tutor.txt` (#898)Omnikar2021-10-28
| | | | | | | | | | | | | | | | | | | * Implement `hx --tutor` and `:tutor` to load `tutor.txt` * Document `hx --tutor` and `:tutor` * Change `Document::set_path` to take an `Option` * `Document::set_path` accepts an `Option<&Path>` instead of `&Path`. * Remove `Editor::open_tutor` and make tutor-open functionality use `Editor::open` and `Document::set_path`. * Use `PathBuf::join` Co-authored-by: Ivan Tham <pickfire@riseup.net> * Add comments explaining unsetting tutor path Co-authored-by: Ivan Tham <pickfire@riseup.net>
* minor: Further simplify take_withBlaž Hrastnik2021-10-27
|
* completion: fully revert state before apply & insertText common prefixBlaž Hrastnik2021-10-25
|
* fix: Indentation used different default on `hx` vs `hx new_file.txt`Blaž Hrastnik2021-10-24
|
* fix: lsp: Regression with textDocument/didSave not getting sentBlaž Hrastnik2021-09-09
|
* Don't panic on save if language_server isn't initializedBlaž Hrastnik2021-09-06
|
* lsp: doc.language_server() is None until initialize completesBlaž Hrastnik2021-09-06
|
* Drop some &mut bounds where & would have sufficedBlaž Hrastnik2021-09-06
|
* ls: Refactor textDocument/didSave in a similar veinBlaž Hrastnik2021-09-06
|
* lsp: refactor format so we stop cloning the language_serverBlaž Hrastnik2021-09-06
|
* lsp: Improve line ending handling when generating TextEditBlaž Hrastnik2021-09-06
|
* remove unsafeBrian Shu2021-08-27
|
* Move path util functions from helix-term to helix-core (#650)Kirawi2021-08-25
|
* fix: Don't internally use relative paths in the buffer pickerBlaž Hrastnik2021-08-24
| | | | Fixes #619
* Document more of document.rs (#562)Kirawi2021-08-18
|
* Show file preview in split pane in fuzzy finder (#534)Gokul Soumya2021-08-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add preview pane for fuzzy finder * Fix picker preview lag by caching * Add picker preview for document symbols * Cache picker preview per document instead of view * Use line instead of range for preview doc * Add picker preview for buffer picker * Fix render bug and refactor picker * Refactor picker preview rendering * Split picker and preview and compose The current selected item is cloned on every event, which is undesirable * Refactor out clones in previewed picker * Retrieve doc from editor if possible in filepicker * Disable syntax highlight for picker preview Files already loaded in memory have syntax highlighting enabled * Ignore directory symlinks in file picker * Cleanup unnecessary pubs and derives * Remove unnecessary highlight from file picker * Reorganize buffer rendering * Use normal picker for code actions * Remove unnecessary generics and trait impls * Remove prepare_for_render and make render mutable * Skip picker preview if screen small, less padding
* Resolve a couple TODOsBlaž Hrastnik2021-08-08
|
* fix: Map all selections on transaction.applyBlaž Hrastnik2021-07-31
|
* Move indent-style code into `helix_core::indent`.Nathan Vegdahl2021-07-30
|