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

Functions

const char * find_json_value (const char *json, const char *key)
 
char * extract_string (const char *json, const char *key, ArenaAllocator *arena)
 
int extract_int (const char *json, const char *key)
 
LSPPosition extract_position (const char *json)
 
LSPMethod lsp_parse_method (const char *json)
 
void lsp_send_response (int id, const char *result)
 
void lsp_send_request (const char *method, const char *params)
 
void lsp_send_notification (const char *method, const char *params)
 
void lsp_send_error (int id, int code, const char *message)
 
size_t json_escape (char *dst, size_t dst_size, const char *src)
 
void serialize_diagnostics_to_json (const char *uri, LSPDiagnostic *diagnostics, size_t diag_count, char *output, size_t output_size)
 
void serialize_completion_items (LSPCompletionItem *items, size_t count, char *output, size_t output_size)
 
void serialize_signature_help (LSPSignatureInfo *sig, char *output, size_t output_size)
 
void serialize_code_actions (LSPCodeAction *actions, size_t count, char *output, size_t output_size)
 
void serialize_document_highlights (LSPDocumentHighlight *highlights, size_t count, char *output, size_t output_size)
 

Function Documentation

◆ extract_int()

int extract_int ( const char *  json,
const char *  key 
)

◆ extract_position()

LSPPosition extract_position ( const char *  json)

◆ extract_string()

char * extract_string ( const char *  json,
const char *  key,
ArenaAllocator arena 
)

◆ find_json_value()

const char * find_json_value ( const char *  json,
const char *  key 
)

◆ json_escape()

size_t json_escape ( char *  dst,
size_t  dst_size,
const char *  src 
)

◆ lsp_parse_method()

LSPMethod lsp_parse_method ( const char *  json)

◆ lsp_send_error()

void lsp_send_error ( int  id,
int  code,
const char *  message 
)

◆ lsp_send_notification()

void lsp_send_notification ( const char *  method,
const char *  params 
)

◆ lsp_send_request()

void lsp_send_request ( const char *  method,
const char *  params 
)

◆ lsp_send_response()

void lsp_send_response ( int  id,
const char *  result 
)

◆ serialize_code_actions()

void serialize_code_actions ( LSPCodeAction actions,
size_t  count,
char *  output,
size_t  output_size 
)

◆ serialize_completion_items()

void serialize_completion_items ( LSPCompletionItem items,
size_t  count,
char *  output,
size_t  output_size 
)

◆ serialize_diagnostics_to_json()

void serialize_diagnostics_to_json ( const char *  uri,
LSPDiagnostic diagnostics,
size_t  diag_count,
char *  output,
size_t  output_size 
)

◆ serialize_document_highlights()

void serialize_document_highlights ( LSPDocumentHighlight highlights,
size_t  count,
char *  output,
size_t  output_size 
)

◆ serialize_signature_help()

void serialize_signature_help ( LSPSignatureInfo sig,
char *  output,
size_t  output_size 
)