/* date = July 8th 2025 10:13 am */ #ifndef FCODER_TREE_SITTER_H #define FCODER_TREE_SITTER_H #include enum File_Language_Kind { File_Language_None, File_Language_Unknown, File_Language_Text, File_Language_Markdown, File_Language_C, File_Language_CPP, File_Language_ObjectiveC, File_Language_HLSL, File_Language_GLSL, File_Language_Jai, File_Language_CSharp, File_Language_Swift, File_Language_Go, File_Language_Rust, File_Language_Javascript, File_Language_Typescript, File_Language_JSON, File_Language_Odin, File_Language_Zig, }; extern "C" { TSLanguage *tree_sitter_cpp(); TSLanguage *tree_sitter_c(); } CUSTOM_ID(attachment, buffer_tree_sitter_data_id); CUSTOM_ID(attachment, buffer_tree_sitter_parse_task_id); struct Buffer_Tree_Sitter_Data { TSLanguage* language; TSTree* tree; System_Mutex tree_mutex; }; b8 use_tree_sitter_code_indexing = true; function void tree_sitter_code_index_update_tick(Application_Links *app); #endif //FCODER_TREE_SITTER_H