diff --git a/cli/src/generate/render.rs b/cli/src/generate/render.rs index 9d22f4a3..a987a0a3 100644 --- a/cli/src/generate/render.rs +++ b/cli/src/generate/render.rs @@ -355,7 +355,7 @@ impl Generator { } fn add_symbol_names_list(&mut self) { - add_line!(self, "static const char *ts_symbol_names[] = {{"); + add_line!(self, "static const char * const ts_symbol_names[] = {{"); indent!(self); for symbol in self.parse_table.symbols.iter() { let name = self.sanitize_string( @@ -417,7 +417,7 @@ impl Generator { } fn add_field_name_names_list(&mut self) { - add_line!(self, "static const char *ts_field_names[] = {{"); + add_line!(self, "static const char * const ts_field_names[] = {{"); indent!(self); add_line!(self, "[0] = NULL,"); for field_name in &self.field_names { diff --git a/lib/include/tree_sitter/parser.h b/lib/include/tree_sitter/parser.h index a3a87bd1..cbbc7b4e 100644 --- a/lib/include/tree_sitter/parser.h +++ b/lib/include/tree_sitter/parser.h @@ -102,8 +102,8 @@ struct TSLanguage { const uint16_t *small_parse_table; const uint32_t *small_parse_table_map; const TSParseActionEntry *parse_actions; - const char **symbol_names; - const char **field_names; + const char * const *symbol_names; + const char * const *field_names; const TSFieldMapSlice *field_map_slices; const TSFieldMapEntry *field_map_entries; const TSSymbolMetadata *symbol_metadata;