4coder/code/custom/4coder_tree_sitter.h

51 lines
1.0 KiB
C
Raw Normal View History

/* date = July 8th 2025 10:13 am */
#ifndef FCODER_TREE_SITTER_H
#define FCODER_TREE_SITTER_H
#include <tree_sitter/api.h>
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