style(treewide): Reformat with treefmt (`nix fmt`)
This commit is contained in:
parent
8104e802e7
commit
d904a19f48
|
@ -1,2 +1,3 @@
|
|||
# Reason
|
||||
|
||||
This is not a cargo example, as its needs a full build.rs step.
|
||||
|
|
|
@ -36,16 +36,19 @@
|
|||
printf ("\n[0m"); \
|
||||
fflush (stdout);
|
||||
|
||||
int p_main() {
|
||||
int
|
||||
p_main ()
|
||||
{
|
||||
// You can simply call functions ..
|
||||
outstanding ("James");
|
||||
|
||||
// .. but they check their inputs:
|
||||
// This call for example will fail, as a null pointer isn't supported.
|
||||
//
|
||||
// A error will be signaled by a 0 return code, then the error can be obtained
|
||||
// with the `last_error_length` and `last_error_message` functions
|
||||
if (!outstanding(0x0)) {
|
||||
// A error will be signaled by a 0 return code, then the error can be
|
||||
// obtained with the `last_error_length` and `last_error_message` functions
|
||||
if (!outstanding (0x0))
|
||||
{
|
||||
int error_length = last_error_length ();
|
||||
char *error = malloc (error_length);
|
||||
last_error_message (error, error_length);
|
||||
|
@ -55,7 +58,8 @@ int p_main() {
|
|||
|
||||
println ("Saying hi!");
|
||||
string_t hi;
|
||||
if (!one.hi(&hi, "Adam")) {
|
||||
if (!one.hi (&hi, "Adam"))
|
||||
{
|
||||
int error_length = last_error_length ();
|
||||
char *error = malloc (error_length);
|
||||
last_error_message (error, error_length);
|
||||
|
|
|
@ -22,7 +22,6 @@
|
|||
/// Call out an outstanding person
|
||||
fn outstanding(name: String);
|
||||
|
||||
|
||||
mod one {
|
||||
/// Say hi to a name
|
||||
fn hi(name: String) -> String;
|
||||
|
|
|
@ -19,14 +19,12 @@
|
|||
* If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
use convert_case::{Case, Casing};
|
||||
use proc_macro2::TokenStream as TokenStream2;
|
||||
use quote::{format_ident, quote, ToTokens};
|
||||
use syn::{punctuated::Punctuated, Ident, Token, Type};
|
||||
|
||||
use crate::{DataCommandEnum, command_enum_parsing::Field};
|
||||
use crate::{command_enum_parsing::Field, DataCommandEnum};
|
||||
|
||||
use super::get_input_type_of_bare_fn_field;
|
||||
|
||||
|
|
|
@ -19,14 +19,12 @@
|
|||
* If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
use proc_macro2::TokenStream as TokenStream2;
|
||||
use quote::{format_ident, quote};
|
||||
use syn::{punctuated::Punctuated, Token};
|
||||
|
||||
use crate::{
|
||||
command_enum_parsing::{Field, NamespacePath, FunctionDeclaration},
|
||||
command_enum_parsing::{Field, FunctionDeclaration, NamespacePath},
|
||||
DataCommandEnum,
|
||||
};
|
||||
|
||||
|
|
|
@ -19,8 +19,6 @@
|
|||
* If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
use proc_macro2::TokenStream as TokenStream2;
|
||||
use quote::quote;
|
||||
|
||||
|
|
|
@ -19,8 +19,6 @@
|
|||
* If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
use convert_case::{Case, Casing};
|
||||
use proc_macro2::TokenStream as TokenStream2;
|
||||
use quote::quote;
|
||||
|
|
|
@ -19,8 +19,6 @@
|
|||
* If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
mod command_enum;
|
||||
mod lua_wrapper;
|
||||
|
||||
|
|
|
@ -1,10 +1,13 @@
|
|||
# trixy-lang_parser
|
||||
|
||||
This crate contains a parser (and lexer) for the Trixy language.
|
||||
The corresponding grammar is in the grammar file [here](./docs/grammar.ebnf) encoded in [Extended Backus-Naur Form](https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_form).
|
||||
|
||||
## Testing
|
||||
|
||||
A binary (`trixy-parser`) exists, which provides easy access to the different library
|
||||
parsing steps
|
||||
|
||||
## Docs
|
||||
|
||||
Run `./generate_docs` to turn the grammar file into railroad diagrams.
|
||||
|
|
|
@ -19,17 +19,14 @@
|
|||
* If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
fn print(message: String);
|
||||
|
||||
/// First doc comment
|
||||
// Some more text
|
||||
nasp trinitrix {
|
||||
mod trinitrix {
|
||||
/// Second doc comment
|
||||
fn hi(name: String) -> String;
|
||||
}
|
||||
|
||||
|
||||
// That's a flat out lie, but it results in a rather nice syntax highlight compared to nothing:
|
||||
// vim: syntax=rust
|
||||
|
|
|
@ -19,12 +19,8 @@
|
|||
* If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// an empty comment:
|
||||
//
|
||||
// an empty doc comment:
|
||||
///
|
||||
nasp test {}
|
||||
mod test {}
|
||||
|
|
|
@ -1,32 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2023 - 2024:
|
||||
* The Trinitrix Project <soispha@vhack.eu, antifallobst@systemausfall.org>
|
||||
*
|
||||
* This file is part of the Trixy crate for Trinitrix.
|
||||
*
|
||||
* Trixy is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the Lesser GNU General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* and the Lesser GNU General Public License along with this program.
|
||||
* If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
fn print(message: CommandTransferValue);
|
||||
|
||||
nasp trinitrix { {}
|
||||
fn hi honner(name: String) -> String; ;
|
||||
}
|
||||
|
||||
|
||||
// That's a flat out lie, but it results in a rather nice syntax highlight compared to nothing:
|
||||
// vim: syntax=rust
|
|
@ -1,36 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2023 - 2024:
|
||||
* The Trinitrix Project <soispha@vhack.eu, antifallobst@systemausfall.org>
|
||||
*
|
||||
* This file is part of the Trixy crate for Trinitrix.
|
||||
*
|
||||
* Trixy is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the Lesser GNU General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* and the Lesser GNU General Public License along with this program.
|
||||
* If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
fn print(message: CommandTransferValue);
|
||||
|
||||
/// Some doc comment
|
||||
// Some more text
|
||||
nasp trinitrix {
|
||||
fn hi(name: String) -> String;
|
||||
}
|
||||
|
||||
/// Trailing doc comment (I will fail)
|
||||
|
||||
|
||||
// That's a flat out lie, but it results in a rather nice syntax highlight compared to nothing:
|
||||
// vim: syntax=rust
|
|
@ -19,20 +19,17 @@
|
|||
* If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
nasp trinitrix {
|
||||
mod trinitrix {
|
||||
/// This enum can't be called Trinitrix, as that's already the name of the namespace
|
||||
/// (if it's in Pascal case)
|
||||
enum Trinitrix {
|
||||
High,
|
||||
Medium,
|
||||
Low,
|
||||
};
|
||||
}
|
||||
|
||||
fn execute_callback(priority: Trinitrix);
|
||||
}
|
||||
|
||||
|
||||
// That's a flat out lie, but it results in a rather nice syntax highlight compared to nothing:
|
||||
// vim: syntax=rust
|
||||
|
|
|
@ -19,15 +19,12 @@
|
|||
* If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
struct Callback {
|
||||
func: Function,
|
||||
timeout: Integer,
|
||||
};
|
||||
}
|
||||
|
||||
fn execute_callback(callback: Name);
|
||||
|
||||
|
||||
// That's a flat out lie, but it results in a rather nice syntax highlight compared to nothing:
|
||||
// vim: syntax=rust
|
||||
|
|
|
@ -19,14 +19,12 @@
|
|||
* If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
struct A {}
|
||||
struct B {}
|
||||
|
||||
struct A {};
|
||||
struct B {};
|
||||
|
||||
enum Error {};
|
||||
enum Error {}
|
||||
|
||||
fn execute_callback(callback: String<A, B>) -> Error<String, Error>;
|
||||
|
||||
|
||||
// That's a flat out lie, but it results in a rather nice syntax highlight compared to nothing:
|
||||
// vim: syntax=rust
|
||||
|
|
|
@ -19,34 +19,32 @@
|
|||
* If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/// Prints to the output, with a newline.
|
||||
// HACK(@soispha): The stdlib Lua `print()` function has stdout as output hardcoded,
|
||||
// redirecting stdout seems too much like a hack thus we are just redefining the print function
|
||||
// to output to a controlled output. <2023-09-09>
|
||||
//fn print(input: CommandTransferValue);
|
||||
|
||||
nasp trinitrix {
|
||||
mod trinitrix {
|
||||
/// Language specific functions, which mirror the `trinitrix.api` namespace.
|
||||
/// That is, if you have to choose between a `std` and a `api` function choose the `std`
|
||||
/// one as it will most likely be more high-level and easier to use (as it isn't abstracted
|
||||
/// over multiple languages). Feel free to drop down to the lower level api, if you feel
|
||||
/// like that more, it should be as stable and user-oriented as the `std` functions
|
||||
nasp std {}
|
||||
mod std {}
|
||||
|
||||
/// Debug only functions, these are effectively useless
|
||||
nasp debug {
|
||||
mod debug {
|
||||
enum UserGreet {
|
||||
Friendly,
|
||||
Angrily,
|
||||
Hastly
|
||||
};
|
||||
Hastly,
|
||||
}
|
||||
struct GreetedUser {
|
||||
names: Vec<String>,
|
||||
new: GreetedUser,
|
||||
state: UserGreet
|
||||
};
|
||||
state: UserGreet,
|
||||
}
|
||||
/// Greets the user
|
||||
fn greet(input: String) -> String;
|
||||
|
||||
|
@ -55,7 +53,7 @@ nasp trinitrix {
|
|||
}
|
||||
|
||||
/// General API to change stuff in Trinitrix
|
||||
nasp api {
|
||||
mod api {
|
||||
/// Closes the application
|
||||
fn exit();
|
||||
|
||||
|
@ -73,7 +71,7 @@ nasp trinitrix {
|
|||
/* fn register_function(function: RawFunction); */
|
||||
|
||||
/// Function that change the UI, or UI state
|
||||
nasp ui {
|
||||
mod ui {
|
||||
/// Shows the command line
|
||||
fn command_line_show();
|
||||
|
||||
|
@ -118,7 +116,7 @@ nasp trinitrix {
|
|||
/// The callback MUST be registered first by calling
|
||||
/// `trinitrix.api.register_function()` the returned value can than be used to
|
||||
/// set the keymap.
|
||||
nasp keymaps {
|
||||
mod keymaps {
|
||||
/// Add a new keymapping
|
||||
fn add(mode: String, key: String, callback: Function);
|
||||
|
||||
|
@ -132,7 +130,7 @@ nasp trinitrix {
|
|||
}
|
||||
|
||||
/// Functions only used internally within Trinitrix
|
||||
nasp raw {
|
||||
mod raw {
|
||||
/// Send an error to the default error output
|
||||
fn raise_error(input: String);
|
||||
|
||||
|
@ -150,7 +148,7 @@ nasp trinitrix {
|
|||
/// ensuring memory locations stay allocated in garbage collected language is hard)
|
||||
///
|
||||
/// Treat it as an implementation detail
|
||||
nasp __private {}
|
||||
mod __private {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,18 +19,15 @@
|
|||
* If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
fn print(message: CommandTransferValue);
|
||||
|
||||
nasp trinitrix {
|
||||
mod trinitrix {
|
||||
fn hi(name: String) -> String;
|
||||
}
|
||||
|
||||
nasp trinitrix {
|
||||
mod trinitrix {
|
||||
fn ho(name: String, name2: String) -> String;
|
||||
}
|
||||
|
||||
|
||||
// That's a flat out lie, but it results in a rather nice syntax highlight compared to nothing:
|
||||
// vim: syntax=rust
|
||||
|
|
|
@ -19,8 +19,6 @@
|
|||
* If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/// other doc comment
|
||||
fn hi(name: String) -> String;
|
||||
|
||||
|
@ -29,13 +27,12 @@ struct ho {
|
|||
ident: String,
|
||||
/// also a doc comment
|
||||
codebase: Vec<String>,
|
||||
};
|
||||
}
|
||||
|
||||
/// Some doc comment
|
||||
nasp trinitrix {
|
||||
mod trinitrix {
|
||||
fn hi(name: String) -> String;
|
||||
}
|
||||
|
||||
|
||||
// That's a flat out lie, but it results in a rather nice syntax highlight compared to nothing:
|
||||
// vim: syntax=rust
|
||||
|
|
|
@ -19,14 +19,11 @@
|
|||
* If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
fn print(message: CommandTransferValue);
|
||||
|
||||
nasp trinitrix {
|
||||
mod trinitrix {
|
||||
fn hi(name: String) -> String;
|
||||
}
|
||||
|
||||
|
||||
// That's a flat out lie, but it results in a rather nice syntax highlight compared to nothing:
|
||||
// vim: syntax=rust
|
||||
|
|
|
@ -19,23 +19,20 @@
|
|||
* If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
nasp trinitrix {
|
||||
mod trinitrix {
|
||||
struct Callback {
|
||||
func: Function,
|
||||
timeout: Integer,
|
||||
};
|
||||
}
|
||||
|
||||
enum CallbackPriority {
|
||||
High,
|
||||
Medium,
|
||||
Low,
|
||||
};
|
||||
}
|
||||
|
||||
fn execute_callback(callback: Callback, priority: CallbackPriority);
|
||||
}
|
||||
|
||||
|
||||
// That's a flat out lie, but it results in a rather nice syntax highlight compared to nothing:
|
||||
// vim: syntax=rust
|
||||
|
|
|
@ -28,8 +28,8 @@
|
|||
*/
|
||||
extern int last_error_length ();
|
||||
|
||||
/** Write the most recent error message into a caller-provided buffer as a UTF-8
|
||||
* string, returning the number of bytes written.
|
||||
/** Write the most recent error message into a caller-provided buffer as a
|
||||
* UTF-8 string, returning the number of bytes written.
|
||||
*
|
||||
* # Note
|
||||
*
|
||||
|
|
|
@ -23,8 +23,8 @@
|
|||
#define TRIXY_STRING_H
|
||||
|
||||
/**
|
||||
* @brief This string type is allocated by rust, which means that you can't just
|
||||
* free it from c, but need to return it to rust to be freed.
|
||||
* @brief This string type is allocated by rust, which means that you can't
|
||||
* just free it from c, but need to return it to rust to be freed.
|
||||
* @see the `string_free` method
|
||||
*/
|
||||
typedef const char *string_t;
|
||||
|
|
|
@ -30,7 +30,8 @@
|
|||
* You are must not free it by calling c's `free`. Use `vec_free`
|
||||
* instead.
|
||||
*/
|
||||
struct vec {
|
||||
struct vec
|
||||
{
|
||||
void *data;
|
||||
size_t length;
|
||||
};
|
||||
|
|
Reference in New Issue