Luma 0.1.0
A low-level compiled alternative to C, C++, and more!
Loading...
Searching...
No Matches
Macros | Functions
lsp_module.c File Reference
#include <ctype.h>
#include <dirent.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
#include "lsp.h"
Include dependency graph for lsp_module.c:

Macros

#define LUMA_STD_PATH   "/usr/local/lib/luma"
 
#define NEGATIVE_CACHE_MAX   64
 

Functions

void lsp_negative_cache_clear (void)
 
const char * extract_module_name (const char *content, ArenaAllocator *arena)
 
void scan_file_for_module (LSPServer *server, const char *file_uri, ArenaAllocator *temp_arena)
 
void scan_directory_recursive (LSPServer *server, const char *dir_path, ArenaAllocator *temp_arena)
 
void build_module_registry (LSPServer *server, const char *workspace_uri)
 
const char * lookup_module (LSPServer *server, const char *module_name)
 
void extract_imports (LSPDocument *doc, ArenaAllocator *arena)
 
const char * resolve_module_path (const char *current_uri, const char *module_path, ArenaAllocator *arena)
 
void lsp_ast_cache_init (LSPServer *server)
 
void lsp_ast_cache_invalidate (LSPServer *server, const char *uri)
 
AstNodeparse_imported_module_ast (LSPServer *server, const char *module_uri, BuildConfig *config, ArenaAllocator *arena)
 
void resolve_imports (LSPServer *server, LSPDocument *doc, BuildConfig *config, GrowableArray *imported_modules)
 

Macro Definition Documentation

◆ LUMA_STD_PATH

#define LUMA_STD_PATH   "/usr/local/lib/luma"

◆ NEGATIVE_CACHE_MAX

#define NEGATIVE_CACHE_MAX   64

Function Documentation

◆ build_module_registry()

void build_module_registry ( LSPServer server,
const char *  workspace_uri 
)

◆ extract_imports()

void extract_imports ( LSPDocument doc,
ArenaAllocator arena 
)

◆ extract_module_name()

const char * extract_module_name ( const char *  content,
ArenaAllocator arena 
)

◆ lookup_module()

const char * lookup_module ( LSPServer server,
const char *  module_name 
)

◆ lsp_ast_cache_init()

void lsp_ast_cache_init ( LSPServer server)

◆ lsp_ast_cache_invalidate()

void lsp_ast_cache_invalidate ( LSPServer server,
const char *  uri 
)

◆ lsp_negative_cache_clear()

void lsp_negative_cache_clear ( void  )

◆ parse_imported_module_ast()

AstNode * parse_imported_module_ast ( LSPServer server,
const char *  module_uri,
BuildConfig config,
ArenaAllocator arena 
)

◆ resolve_imports()

void resolve_imports ( LSPServer server,
LSPDocument doc,
BuildConfig config,
GrowableArray imported_modules 
)

◆ resolve_module_path()

const char * resolve_module_path ( const char *  current_uri,
const char *  module_path,
ArenaAllocator arena 
)

◆ scan_directory_recursive()

void scan_directory_recursive ( LSPServer server,
const char *  dir_path,
ArenaAllocator temp_arena 
)

◆ scan_file_for_module()

void scan_file_for_module ( LSPServer server,
const char *  file_uri,
ArenaAllocator temp_arena 
)