pub struct ProjectRootMarkers;Expand description
Filenames or directory names whose presence marks a project root, in priority order. The walk starts at the buffer’s own directory and stops at the first directory containing any of these, so a crate inside a Cargo workspace is its own project.
Order decides which marker is reported when a directory holds
several: with the default list a git repository that is also a
crate reports .git.
Replaces rather than extends — :set project.root-markers?
shows the full current list, which is what you are editing. A
buffer whose tree contains no marker at all roots at the working
directory.
Implementations§
Source§impl ProjectRootMarkers
impl ProjectRootMarkers
Sourcepub fn build_spec() -> Option<RootMarkers>
pub fn build_spec() -> Option<RootMarkers>
Build the runtime spec for this declaration.
Used by the registry’s self-registration boot
path; not generally called by hand. Direct
construction of Option<T> is the macro’s
internal-only path – consumer code uses
config.get_typed::<#name_ident>() to read
and config.set_typed::<#name_ident>(...) to
write.
Trait Implementations§
Source§impl HasGroup for ProjectRootMarkers
impl HasGroup for ProjectRootMarkers
Source§const GROUP_NAME: &'static str = <crate::Project as ::lattice_config::OptionGroup>::NAME
const GROUP_NAME: &'static str = <crate::Project as ::lattice_config::OptionGroup>::NAME
"editor", "lsp", …). The macro
pulls this from the group = SomeGroup; directive at the
declaration block’s head.Source§impl OptionDecl for ProjectRootMarkers
impl OptionDecl for ProjectRootMarkers
Source§const NAME: &'static str = ProjectRootMarkers
const NAME: &'static str = ProjectRootMarkers
:set <NAME>=…,
TOML keys, completion candidates, :describe-option.
Internal access is type-driven. The macro derives this
from the option’s identifier (with namespace prefix when
declared via mode_options!); manually-typed NAMEs are
not supported for built-in options.Source§const DOC: &'static str = ProjectRootMarkers
const DOC: &'static str = ProjectRootMarkers
:describe-option, the :customize
form’s per-row help, and :apropos results.Source§const CUSTOMIZABLE: bool = true
const CUSTOMIZABLE: bool = true
true (the default) ⇒ option
appears in :set autocomplete + the :customize group
view. false ⇒ plugin / engine-internal state, hidden
from user surfaces. Equivalent of emacs’s defvar vs
defcustom. (See mode-architecture.md §6.5.3.)Source§type Value = RootMarkers
type Value = RootMarkers
Source§fn default_value() -> Self::Value
fn default_value() -> Self::Value
const) so non-const-constructible types like String
can be defaults.