Luma 0.1.0
A low-level compiled alternative to C, C++, and more!
Loading...
Searching...
No Matches
Functions | Variables
formatter.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <unistd.h>
#include "../../c_libs/error/error.h"
#include "../../helper/help.h"
#include "formatter.h"
Include dependency graph for formatter.c:

Functions

void write_indent (FormatterContext *ctx)
 
void write_string (FormatterContext *ctx, const char *str)
 
void write_newline (FormatterContext *ctx)
 
void write_space (FormatterContext *ctx)
 
void increase_indent (FormatterContext *ctx)
 
void decrease_indent (FormatterContext *ctx)
 
void format_node (FormatterContext *ctx, AstNode *node)
 
void format_program (FormatterContext *ctx, Stmt *program)
 
void format_type (FormatterContext *ctx, Type *type)
 
void format_stmt (FormatterContext *ctx, Stmt *stmt)
 
void format_expr (FormatterContext *ctx, Expr *expr)
 
bool format_luma_code (const char *input_path, const char *output_path, FormatterConfig config, ArenaAllocator *allocator)
 
bool check_formatting (const char *filepath, FormatterConfig config, ArenaAllocator *allocator)
 
void print_usage (const char *program_name)
 

Variables

FormatterConfig default_config
 

Function Documentation

◆ check_formatting()

bool check_formatting ( const char *  filepath,
FormatterConfig  config,
ArenaAllocator allocator 
)

◆ decrease_indent()

void decrease_indent ( FormatterContext ctx)

◆ format_expr()

void format_expr ( FormatterContext ctx,
Expr expr 
)

◆ format_luma_code()

bool format_luma_code ( const char *  input_path,
const char *  output_path,
FormatterConfig  config,
ArenaAllocator allocator 
)

◆ format_node()

void format_node ( FormatterContext ctx,
AstNode node 
)

◆ format_program()

void format_program ( FormatterContext ctx,
Stmt program 
)

◆ format_stmt()

void format_stmt ( FormatterContext ctx,
Stmt stmt 
)

◆ format_type()

void format_type ( FormatterContext ctx,
Type type 
)

◆ increase_indent()

void increase_indent ( FormatterContext ctx)

◆ print_usage()

void print_usage ( const char *  program_name)

◆ write_indent()

void write_indent ( FormatterContext ctx)

◆ write_newline()

void write_newline ( FormatterContext ctx)

◆ write_space()

void write_space ( FormatterContext ctx)

◆ write_string()

void write_string ( FormatterContext ctx,
const char *  str 
)

Variable Documentation

◆ default_config

FormatterConfig default_config
Initial value:
= {
.indent_size = 2,
.use_tabs = false,
.max_line_length = 50,
.space_around_operator = true,
.space_after_comma = true,
.compact_blocks = false,
.check_only = false,
.write_in_place = false,
.output_file = NULL,
}