* 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>
* add command and keybding to jump to next/prev hunk
* add textobject for change
* Update helix-vcs/src/diff.rs
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* select entire hunk instead of first char
* fix selection range
Co-authored-by: Michael Davis <mcarsondavis@gmail.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.
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
* 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>
* Add treesitter textobject queries
Only for Go, Python and Rust for now.
* Add tree-sitter textobjects
Only has functions and class objects as of now.
* Fix tests
* Add docs for tree-sitter textobjects
* Add guide for creating new textobject queries
* Add parameter textobject
Only parameter.inside is implemented now, parameter.around
will probably require custom predicates akin to nvim' `make-range`
since we want to select a trailing comma too (a comma will be
an anonymous node and matching against them doesn't work similar
to named nodes)
* Simplify TextObject cell init
* Add textobjects for word
* Add textobjects for surround characters
* Apply clippy lints
* Remove ThisWordPrevBound in favor of PrevWordEnd
It's the same as PrevWordEnd except for taking the current char
into account, so use a "flag" to capture that usecase
* Add tests for PrevWordEnd movement
* Remove ThisWord* movements
They did not preserve anchor positions and were only used
for textobject boundary search anyway so replace them with
simple position finding functions
* Rewrite tests of word textobject
* Add tests for surround textobject
* Add textobject docs
* Refactor textobject word position functions
* Apply clippy lints on textobject
* Fix overflow error with textobjects