You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
helix-plus/helix-core/src
Riccardo Binetti 888f4fef6f
Split helix_core::find_root and helix_loader::find_local_config_dirs (#3929)
* Split helix_core::find_root and helix_loader::find_local_config_dirs

The documentation of find_root described the following priority for
detecting a project root:
- Top-most folder containing a root marker in current git repository
- Git repository root if no marker detected
- Top-most folder containing a root marker if not git repository detected
- Current working directory as fallback

The commit contained in https://github.com/helix-editor/helix/pull/1249
extracted and changed the implementation of find_root in find_root_impl,
actually reversing its result order (since that is the order that made
sense for the local configuration merge, from innermost to outermost
ancestors).

Since the two uses of find_root_impl have different requirements (and
it's not a matter of reversing the order of results since, e.g., the top
repository dir should be used by find_root only if there's not marker in
other dirs), this PR splits the two implementations in two different
specialized functions.

In doing so, find_root_impl is removed and the implementation is moved
back in find_root, moving it closer to the documented behaviour thus
making it easier to verify it's actually correct

* helix-core: remove Option from find_root return type

It always returns some result, so Option is not needed
2 years ago
..
increment Resolve clippy lints (#3307) 2 years ago
auto_pairs.rs use main application event loop 2 years ago
chars.rs Temporarily turn on unicode-lines 3 years ago
comment.rs Fix toggle_comments command on multiple selections (#1882) 3 years ago
config.rs Add support for local language configuration (#1249) 3 years ago
diagnostic.rs diagnostics: Use Vec<Tag> instead of Option<Vec<Tag>> 2 years ago
diff.rs Fix Clippy lints in tests (#1563) 3 years ago
graphemes.rs Improve Readability (#2639) 3 years ago
history.rs Improve Readability (#2639) 3 years ago
indent.rs Fix cargo doc warnings, and add GitHub action to ensure it (#3650) 2 years ago
lib.rs Split helix_core::find_root and helix_loader::find_local_config_dirs (#3929) 2 years ago
line_ending.rs Fix failing test with unicode-lines feature (#3455) 2 years ago
macros.rs Split parts of helix-term into helix-view. 4 years ago
match_brackets.rs Fix match brackets comment (#1346) 3 years ago
movement.rs Fix typos (#3858) 2 years ago
object.rs Fix edge-case in tree-sitter expand_selection selection command (#2877) 2 years ago
path.rs Add workspace and document diagnostics picker (#2013) 2 years ago
position.rs feat: make `move_vertically` aware of tabs and wide characters (#2620) 2 years ago
register.rs fixes showing the last prompt on empty input (#2870) 2 years ago
search.rs Jump to the next number on the line before incrementing (#1778) 3 years ago
selection.rs Fix extra selection with regex anchors (^,$) (#3598) 2 years ago
shellwords.rs Enable shellwords for Windows (with escaping disabled) (#2767) 2 years ago
state.rs Reduce State use a bit further 3 years ago
surround.rs Improve Readability (#2639) 3 years ago
syntax.rs fix: map_err()? instead of unwrap (#3826) 2 years ago
test.rs Remove usage of format ident feature from tests (#2028) 3 years ago
textobject.rs Adjust `m` textobject description and minor code clarification (#3343) 2 years ago
transaction.rs core: transaction: Resolve some TODOs 3 years ago
wrap.rs add reflow command (#2128) 3 years ago