Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/JRMurr/tix
/ functions
Functions
2,574 in github.com/JRMurr/tix
⨍
Functions
2,574
◇
Types & classes
237
↓ 4 callers
Function
find_config
Walk up from `start_dir` looking for `tix.toml`. Returns the first match.
crates/lsp/src/project_config.rs:211
↓ 4 callers
Method
free_type_vars
Collect free type variables in order of first appearance, deduplicated.
crates/lang_ty/src/arena.rs:184
↓ 4 callers
Method
free_type_vars
Collect free type variable ids in DFS order of first appearance, deduplicated. Matches `TypeArena::free_type_vars` which preserves first-appearance or
crates/lang_ty/src/arbitrary.rs:164
↓ 4 callers
Method
get_dependents
Return the set of files that import the given path (its dependents).
crates/lsp/src/state.rs:806
↓ 4 callers
Function
get_name_type_up_to_group
Helper: run partial inference up to a given group and return a name's type.
crates/lang_check/src/tests.rs:9212
↓ 4 callers
Method
is_default_marked_param
True iff `id` was marked by `mark_default_param`.
crates/lang_check/src/storage.rs:94
↓ 4 callers
Method
is_number
(&self)
crates/lang_ty/src/primitive.rs:21
↓ 4 callers
Method
is_subtype_of
True when `self` is a proper subtype of `other` (excluding reflexivity, which is handled separately). Currently only Int <: Number and Float <: Number
crates/lang_ty/src/primitive.rs:45
↓ 4 callers
Function
load_manifest
(path: &std::path::Path)
crates/repo_check/src/manifest.rs:64
↓ 4 callers
Function
make_hover
(type_text: String, doc: Option<&str>, range: Range)
crates/lsp/src/hover.rs:402
↓ 4 callers
Method
map_children
Apply `f` to every direct child TyRef, producing a new OutputTy with the same variant structure.
crates/lang_ty/src/arc_ty.rs:264
↓ 4 callers
Function
mk_bool
(arena: &mut TypeArena)
crates/lsp/src/ty_nav.rs:414
↓ 4 callers
Function
non_type_modifying_transform
(text: NixTextStr)
crates/lang_check/src/pbt/mod.rs:170
↓ 4 callers
Function
normalize_set_type
Normalize a collected member list into a single type: - 0 members → error with `kind_name` - 1 member → unwrap to avoid a spurious wrapper - 2+ member
crates/comment_parser/src/collect_shared.rs:20
↓ 4 callers
Function
parse_multi_file
Parse multiple files and return a map of path → SyntaxResult. The first file is treated as the entry point and also returned separately.
crates/lang_ast/src/tests.rs:58
↓ 4 callers
Function
parsed_ty_to_output_ty
Convert a `ParsedTy` to `OutputTy`, resolving type alias references through a `TypeAliasRegistry`. Shared by CLI and LSP code paths. `arena` is used
crates/lang_check/src/aliases.rs:945
↓ 4 callers
Function
populate_merged_stubs_dir
Core logic of [`build_merged_stubs_dir`] that takes the output directory explicitly. Separated for testability.
crates/lsp/src/store_stubs.rs:175
↓ 4 callers
Method
push_dynamic
( &mut self, ctx: &mut LowerCtx, key_expr: Option<ast::Expr>, value: BindingVa
crates/lang_ast/src/lower.rs:628
↓ 4 callers
Function
repo_root
Repo root, derived from Cargo's `CARGO_MANIFEST_DIR` (crates/cli).
crates/cli/tests/env_stubs.rs:11
↓ 4 callers
Function
resolve_attrpath_key
Resolve an attrpath key token to its config type, full path, and alias name. Shared by hover, field doc lookup, and goto-def for config fields.
crates/lsp/src/hover.rs:210
↓ 4 callers
Method
resolve_imports
Resolve import types for a module using the coordinator's cache. Used by the LSP's Phase B as a drop-in for `resolve_import_types_from_stubs`.
crates/lang_check/src/coordinator.rs:521
↓ 4 callers
Function
resolve_source_location
Resolve a `SourceLocation` (from `@source` annotation) to an LSP `Location` by looking up the source root and constructing an absolute path.
crates/lsp/src/goto_def.rs:188
↓ 4 callers
Function
run_init
Entry point for `tix init`.
crates/cli/src/init.rs:18
↓ 4 callers
Function
run_verify_stubs
( file_path: PathBuf, stub_path: PathBuf, extra_stubs: Vec<PathBuf>, no_default_stubs: bool, )
crates/cli/src/main.rs:745
↓ 4 callers
Method
set_path
(&mut self, path: Vec<SmolStr>)
crates/comment_parser/src/tix_collect.rs:270
↓ 4 callers
Function
should_drop_filler
Drop predicate for bare `TyVar` / `Bottom` / `Top` inside flattened union/intersection members. Bare `TyVar`s are uninformative as members of a compo
crates/lang_check/src/collect.rs:1417
↓ 4 callers
Method
structurally_eq
Structural cross-arena equality: compares two types from potentially different arenas by recursively comparing their OutputTy nodes. Unlike `PartialE
crates/lang_ty/src/arena.rs:850
↓ 4 callers
Function
take_doc_block
Try to extract a doc_block from the first child of `inner` if it matches. Returns `(Option<SmolStr>, Pairs)` -- the doc (if present) and the remaining
crates/comment_parser/src/tix_collect.rs:53
↓ 4 callers
Function
take_source_annotation
Try to extract a `source_annotation` from the next child of `inner`. Returns `Option<SourceLocation>` and consumes the pair if matched.
crates/comment_parser/src/tix_collect.rs:70
↓ 4 callers
Method
traverse_bindings
( &mut self, module: &Module, bindings: &Bindings, scope: ScopeId, )
crates/lang_ast/src/nameres.rs:230
↓ 4 callers
Method
try_for_each_child
Like `for_each_child` but supports early exit via `ControlFlow`.
crates/lang_ty/src/arc_ty.rs:333
↓ 4 callers
Method
try_mark_variable_free
If all children of the concrete type at `ty_id` are themselves variable-free, mark `ty_id` as variable-free too. No-op for variables. Called after ext
crates/lang_check/src/type_table.rs:206
↓ 4 callers
Function
type_to_tix
Convert a NixOS type to a .tix type expression string.
crates/cli/src/gen_stubs.rs:228
↓ 4 callers
Function
unquote_string_literal
Strip surrounding double quotes from a string literal.
crates/comment_parser/src/collect_shared.rs:12
↓ 4 callers
Method
validate
Validate the registry for cycles in alias references. Returns `Err` with the names involved in cycles if any are found.
crates/lang_check/src/aliases.rs:731
↓ 4 callers
Function
wrap_expr
Wrap a Nix expression in the scaffolding needed by the access pattern.
crates/lang_check/src/pbt/stub_compose.rs:371
↓ 4 callers
Function
write_generated_stubs
Validate and write generated .tix content to a file or stdout.
crates/cli/src/gen_stubs.rs:1328
↓ 4 callers
Function
write_nix_files
Helper: write files to a temp dir and return (path, contents) pairs.
crates/lsp/src/warmup.rs:351
↓ 3 callers
Method
alloc_prim
Allocate a primitive type, deduplicating via cache.
crates/lang_check/src/lib.rs:1065
↓ 3 callers
Method
alloc_single_field_open_attrset
Allocate an open attrset type with a single field `{ field: field_ty, ... }`.
crates/lang_check/src/infer_expr.rs:55
↓ 3 callers
Method
analysis
(&self)
crates/lsp/src/test_util.rs:182
↓ 3 callers
Method
apply_type_annotation
If `name_id` has a doc comment type annotation (e.g. `/** type: x :: int */`), constrain `ty` to match the declared type. Returns Ok(()) if no annotat
crates/lang_check/src/lib.rs:1247
↓ 3 callers
Function
arb_access_pattern
()
crates/lang_check/src/pbt/stub_compose.rs:335
↓ 3 callers
Function
arb_int
()
crates/lsp/src/pbt.rs:42
↓ 3 callers
Method
as_definitions
(&self)
crates/lang_ast/src/nameres.rs:27
↓ 3 callers
Method
as_with
(&self)
crates/lang_ast/src/nameres.rs:34
↓ 3 callers
Function
assert_binding
Assert that `stdout` contains a binding line matching `name :: ty_fragment`.
crates/cli/tests/custom_stubs.rs:51
↓ 3 callers
Function
chase_import_target
Chase through Apply chains to find an import target path. `import ./foo.nix { args }` desugars to `Apply(Apply(import, ./foo.nix), { args })`. The in
crates/lsp/src/import_nav.rs:346
↓ 3 callers
Function
check_str_with_aliases_and_context
Type-check with both custom aliases and context args.
crates/lang_check/src/tests.rs:3625
↓ 3 callers
Function
classify_nix_file
Classify a Nix file by analyzing its AST structure. Only depends on the parsed Module and NameResolution — no type inference needed. Checks for expli
crates/lang_ast/src/classify.rs:66
↓ 3 callers
Function
collect_existing_fields
Collect field names already present in an attrset literal, using the lowered AST (Bindings) rather than re-parsing rnix. We look up the AttrSet's Expr
crates/lsp/src/completion.rs:684
↓ 3 callers
Function
collect_existing_fields_from_tree
Collect field names already present in an attrset literal by walking the fresh rnix tree directly. Unlike `collect_existing_fields`, this does not nee
crates/lsp/src/completion.rs:171
↓ 3 callers
Method
collect_free_type_vars
( &self, ty: TyRef, result: &mut Vec<u32>, seen: &mut FxHashSet<u32>,
crates/lang_ty/src/arena.rs:192
↓ 3 callers
Function
collect_one
( pair: pest::iterators::Pair<Rule>, ctx: &mut CollectCtx, )
crates/comment_parser/src/tix_collect.rs:347
↓ 3 callers
Function
collect_one
Collect a single type from a Pair. Dispatches on the pair's rule and processes its children. Unlike `collect_type_expr`, this does NOT treat remaining
crates/comment_parser/src/collect.rs:160
↓ 3 callers
Method
complete
Request completions at a given line/character position.
crates/lsp/tests/common/mod.rs:325
↓ 3 callers
Function
completion_kind_for_ty
Map a type to the appropriate LSP CompletionItemKind.
crates/lsp/src/completion.rs:1380
↓ 3 callers
Function
compute_importer_counts
Compute importer counts for reference-counted eviction. Returns a map from each file to the number of in-project files that import it. Files with 0 i
crates/lang_check/src/file_graph.rs:180
↓ 3 callers
Function
convert_context_args
Convert context args (from tix.toml) to OutputTy, sharing a single arena.
crates/lsp/src/ty_nav.rs:346
↓ 3 callers
Function
detect_conditional_apply_narrowing
Detect `Apply(conditional_fn, cond)` where conditional_fn is a known conditional library function. If so, analyze `cond` for narrowing and return the
crates/lang_ast/src/narrow.rs:389
↓ 3 callers
Method
docs_for_expr
(&self, expr_id: ExprId)
crates/lang_ast/src/lib.rs:255
↓ 3 callers
Method
docs_url
URL to the documentation page for this error code.
crates/lang_check/src/diagnostic.rs:189
↓ 3 callers
Function
document_symbols
DocumentSymbol.deprecated is deprecated but required by the struct
crates/lsp/src/document_symbol.rs:15
↓ 3 callers
Method
expand_parsed_aliases
Expand type alias references in a ParsedTy. Replaces Reference("Foo") with the alias body from the registry. Depth-guarded to prevent cycles.
crates/lang_check/src/lib.rs:1468
↓ 3 callers
Function
extract_file_signature
Extract a compacted `FileSignature` from a `CheckResult`. Returns `None` if inference failed or the root expression has no type. This is the shared l
crates/lang_check/src/lib.rs:651
↓ 3 callers
Function
extract_ident_text
Extract the identifier text from a simple expression node (Ident). Returns None for complex expressions like function calls or nested selects.
crates/lsp/src/completion.rs:198
↓ 3 callers
Method
extrude
( &mut self, ty_id: TyId, polarity: Polarity, name: Option<lang_ast::NameId>,
crates/lang_check/src/infer.rs:633
↓ 3 callers
Method
extrude_inner
( &mut self, ty_id: TyId, polarity: Polarity, cache: &mut FxHashMap<TyId, TyId
crates/lang_check/src/infer.rs:727
↓ 3 callers
Function
find_binding
Find the first occurrence of `name =` (a let-binding or attrset field) in `source` and return its 0-based `(line, col)`.
crates/lsp/tests/e2e_nixpkgs.rs:97
↓ 3 callers
Method
find_matching
Check if a file path matches any context. Returns the context name if matched, or None.
crates/cli/src/config.rs:159
↓ 3 callers
Function
find_name_type_by_text
Find a name's type by searching the stale module for a NameId with matching text, then looking up its type in inference results. Prefers names that h
crates/lsp/src/completion.rs:210
↓ 3 callers
Function
find_pattern_field
Find the first occurrence of `name` as a pattern field in `{ name, ... }:` and return its 0-based `(line, col)`.
crates/lsp/tests/e2e_nixpkgs.rs:495
↓ 3 callers
Function
find_project_root
Find the project root by walking up from `start` looking for flake.nix or .git.
crates/cli/src/init.rs:118
↓ 3 callers
Function
find_scc_group_for_name
Given a binding name and grouped defs, find the SCC group index that contains the binding. Returns None if not found.
crates/lang_check/src/lib.rs:99
↓ 3 callers
Function
flatten_intersection
(arena: &TypeArena, members: Vec<OutputTy>)
crates/lang_check/src/collect.rs:1432
↓ 3 callers
Function
format_doc_comment
Format a description as a .tix doc comment (## lines).
scripts/gen_lib_stubs.py:763
↓ 3 callers
Function
full_range
Full-document range for requesting all inlay hints.
crates/lsp/tests/e2e_inlay_hints.rs:8
↓ 3 callers
Function
get_multifile_result
(files: &[(&str, &str)])
crates/lang_check/src/tests.rs:322
↓ 3 callers
Function
get_str_literal
Extract a plain string literal from an rnix Str node (no interpolation).
crates/lsp/src/ty_nav.rs:20
↓ 3 callers
Method
goto_type_def
Go-to-type-definition at a given line/character position.
crates/lsp/tests/common/mod.rs:349
↓ 3 callers
Function
has_type_contradiction
Check whether an intersection contains a contradictory pair. Two kinds of contradictions: 1. `T ∧ ¬S` where `T <: S` (subsumption). E.g. `Int ∧ ¬Numb
crates/lang_check/src/collect.rs:1092
↓ 3 callers
Function
highlight_at_marker
(src: &str, marker: u32)
crates/lsp/src/document_highlight.rs:56
↓ 3 callers
Method
hover_abs
Hover at a position in a file given by absolute path.
crates/lsp/tests/common/mod.rs:260
↓ 3 callers
Function
hover_at_markers_with_context
Helper: set up a NixOS module context and hover at markers.
crates/lsp/src/hover.rs:763
↓ 3 callers
Function
inlay_hints
(analysis: &FileSnapshot, range: Range, root: &rnix::Root)
crates/lsp/src/inlay_hint.rs:16
↓ 3 callers
Method
inlay_hints
Inlay hints for a range in a file.
crates/lsp/tests/common/mod.rs:594
↓ 3 callers
Method
insert_decl_doc
Insert a declaration-level doc.
crates/lang_check/src/aliases.rs:83
↓ 3 callers
Method
insert_field_doc
Insert a field-level doc.
crates/lang_check/src/aliases.rs:88
↓ 3 callers
Method
invalidate
Invalidate a file and all its transitive dependents. Returns the list of paths that were evicted (excluding the root path itself).
crates/lang_check/src/coordinator.rs:567
↓ 3 callers
Function
invoke_nix_eval_common
Run `nix eval --json --impure --expr <expr>`, parse the JSON output into an option tree. `label` is used in the progress message (e.g. "NixOS").
crates/cli/src/gen_stubs.rs:794
↓ 3 callers
Function
is_param_kind
Whether this name kind represents a parameter (genuine polymorphism). Param/PatField keep letter names; all others use `?` for unknowns.
crates/lsp/src/hover.rs:21
↓ 3 callers
Method
is_warning
Whether this diagnostic is a warning (true) or an error (false).
crates/lang_check/src/diagnostic.rs:195
↓ 3 callers
Function
isect
Helper: create an OutputTy::Intersection with arena-interned members.
crates/lang_check/src/collect.rs:1717
↓ 3 callers
Function
load_snapshot
(path: &Path)
crates/repo_check/src/results.rs:242
↓ 3 callers
Function
load_stubs
Load .tix files from a path. If the path is a file, load it directly. If it's a directory, recursively find all .tix files and load them.
crates/cli/src/main.rs:1594
↓ 3 callers
Function
make_builtin_fixture
Create a fixture project using `@builtin` context references. If `override_stubs` is provided, the registry's builtin stubs dir is set to a temp dire
crates/lsp/src/completion.rs:3373
↓ 3 callers
Function
make_owned_ty
Helper: create an OwnedTy from a primitive OutputTy for tests.
crates/lsp/src/state.rs:1157
↓ 3 callers
Method
mark_default_param
Mark a pattern-field name slot as having received a `? default` lower bound. Idempotent. Consulted by canonicalization's Negative empty-fallback to sk
crates/lang_check/src/storage.rs:89
↓ 3 callers
Function
module_to_attrset
Convert a module's declarations into an open attrset ParsedTy. Val declarations become named fields; nested modules become nested attrset fields. Eac
crates/lang_check/src/aliases.rs:800
↓ 3 callers
Method
needs_var_normalization
Check if `normalize_replacing_unknown` would actually mutate the arena. Returns false when the type has no free vars and isn't a bare TyVar, meaning n
crates/lang_ty/src/arena.rs:161
← previous
next →
301–400 of 2,574, ranked by callers