1use {
2 indoc::indoc,
3 ropey::Rope,
4 serde::{Deserialize, Serialize},
5 std::{
6 collections::{HashMap, HashSet},
7 fmt::{self, Debug, Display, Formatter},
8 fs,
9 iter::{once, successors},
10 ops::{ControlFlow, RangeInclusive},
11 path::PathBuf,
12 sync::OnceLock,
13 },
14 tower_lsp::lsp_types as lsp,
15 tree_sitter::{InputEdit, Language, Node, Parser, Point, Tree, TreeCursor},
16};
17
18pub use {
19 alias::Alias,
20 analyzer::Analyzer,
21 attribute::Attribute,
22 attribute_kind::AttributeKind,
23 attribute_target::AttributeTarget,
24 builtin::Builtin,
25 builtins::BUILTINS,
26 config::{Config, RuleConfig, RuleLevel},
27 count::Count,
28 dependency::Dependency,
29 diagnostic::Diagnostic,
30 document::Document,
31 error::Error,
32 function::Function,
33 function_call::FunctionCall,
34 function_kind::FunctionKind,
35 group::Group,
36 import::Import,
37 module::Module,
38 node_ext::NodeExt,
39 parameter::{Parameter, ParameterJson, ParameterKind, VariadicType},
40 point_ext::PointExt,
41 position_ext::PositionExt,
42 quickfixer::Quickfixer,
43 range_ext::RangeExt,
44 recipe::Recipe,
45 rope_ext::{Edit, Position as RopePosition, RopeExt},
46 rule::Rule,
47 rule_context::RuleContext,
48 scope::Scope,
49 setting::Setting,
50 setting_kind::SettingKind,
51 str_ext::StrExt,
52 text_node::TextNode,
53 variable::Variable,
54};
55
56mod alias;
57mod analyzer;
58mod attribute;
59mod attribute_kind;
60mod attribute_target;
61mod builtin;
62mod builtins;
63mod config;
64mod count;
65mod dependency;
66mod diagnostic;
67mod document;
68mod error;
69mod function;
70mod function_call;
71mod function_kind;
72mod group;
73mod import;
74mod module;
75mod node_ext;
76mod parameter;
77mod point_ext;
78mod position_ext;
79mod quickfixer;
80mod range_ext;
81mod recipe;
82mod rope_ext;
83mod rule;
84mod rule_context;
85mod scope;
86mod setting;
87mod setting_kind;
88mod str_ext;
89mod text_node;
90mod variable;
91
92type Result<T = ()> = std::result::Result<T, Error>;
93
94unsafe extern "C" {
96 pub fn tree_sitter_just() -> Language;
97}