1+++
2repository_url = "git@github.com:tree-sitter/tree-sitter"
3revision = "17e3c7a5c56527a179fa6e37ce7ee934493e5047"
4+++
5
6## Edit History
7
8```diff
9--- a/crates/loader/src/loader.rs
10+++ b/crates/loader/src/loader.rs
11@@ -729,15 +729,16 @@
12 ));
13 }
14 for parser_container_dir in &config.parser_directories {
15- if let Ok(entries) = fs::read_dir(parser_container_dir) {
16- for entry in entries {
17- let entry = entry.map_err(|e| LoaderError::IO(IoError::new(e, None)))?;
18- if let Some(parser_dir_name) = entry.file_name().to_str() {
19- if parser_dir_name.starts_with("tree-sitter-") {
20- self.find_language_configurations_at_path(
21- &parser_container_dir.join(parser_dir_name),
22- false,
23- )
24+ match fs::read_dir(parser_container_dir) {
25+ Ok(entries) => {
26+ for entry in entries {
27+ let entry = entry.map_err(|e| LoaderError::IO(IoError::new(e, None)))?;
28+ if let Some(parser_dir_name) = entry.file_name().to_str() {
29+ if parser_dir_name.starts_with("tree-sitter-") {
30+ self.find_language_configurations_at_path(
31+ &parser_container_dir.join(parser_dir_name),
32+ false,
33+ )
34 .ok();
35 }
36 }
37--- a/crates/loader/src/loader.rs
38+++ b/crates/loader/src/loader.rs
39@@ -739,7 +739,8 @@
40 &parser_container_dir.join(parser_dir_name),
41 false,
42 )
43- .ok();
44+ .ok();
45+ }
46 }
47 }
48 }
49```
50
51## Cursor Position
52
53```crates/loader/src/loader.rs
54 if let Some(parser_dir_name) = entry.file_name().to_str() {
55 if parser_dir_name.starts_with("tree-sitter-") {
56 self.find_language_configurations_at_path(
57 &parser_container_dir.join(parser_dir_name),
58 false,
59 )
60 .ok();
61 }
62// ^[CURSOR_POSITION]
63 }
64 }
65 }
66 }
67 }
68```
69
70## Expected Patch
71
72```diff
73--- a/crates/loader/src/loader.rs
74+++ b/crates/loader/src/loader.rs
75@@ -736,13 +736,13 @@
76 if let Some(parser_dir_name) = entry.file_name().to_str() {
77 if parser_dir_name.starts_with("tree-sitter-") {
78 self.find_language_configurations_at_path(
79 &parser_container_dir.join(parser_dir_name),
80 false,
81 )
82 .ok();
83 }
84 }
85 }
86 }
87+ Err(error) => {}
88# ^[CURSOR_POSITION]
89 }
90 }
91```
92
93```diff
94--- a/crates/loader/src/loader.rs
95+++ b/crates/loader/src/loader.rs
96@@ -736,13 +736,13 @@
97 if let Some(parser_dir_name) = entry.file_name().to_str() {
98 if parser_dir_name.starts_with("tree-sitter-") {
99 self.find_language_configurations_at_path(
100 &parser_container_dir.join(parser_dir_name),
101 false,
102 )
103 .ok();
104 }
105 }
106 }
107 }
108+ Err(_) => {}
109# ^[CURSOR_POSITION]
110 }
111 }
112```
113
114
115```diff
116--- a/crates/loader/src/loader.rs
117+++ b/crates/loader/src/loader.rs
118@@ -736,13 +736,13 @@
119 if let Some(parser_dir_name) = entry.file_name().to_str() {
120 if parser_dir_name.starts_with("tree-sitter-") {
121 self.find_language_configurations_at_path(
122 &parser_container_dir.join(parser_dir_name),
123 false,
124 )
125 .ok();
126 }
127 }
128 }
129 }
130+ Err(e) => {
131+
132# ^[CURSOR_POSITION]
133+ }
134 }
135 }
136```