All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Speed up diagnostics by implementing this process in a background thread
- Fix diagnostics when a member of a non-existent tuple is called
- Fix diagnostics when the variable identifier is a number in the assignment operator
- Add diagnostics if identifier name is longer than 31 bytes
- Fix an exception error that occurs while editing the code
- Implement diagnostics when there is no comma after the member declaration in a structure or record (except the last)
- Implement highlighting of binary, octal, and hexadecimal literals
- Add diagnostics when hex, octal, or binary literals use for not integer types
- Implement new diagnostics when a function with no parameters is defined
- Add diagnostics when negative index in tuple member access expression
- Add diagnostics when binary, octal or hexadecimal numbers are used when accessing tuple members
- Add diagnostics when an integer contains a digit that is not valid for the corresponding radix
- Add diagnostics for negative values of unsigned integers in radix 2/8/16
- The Init&Create button should not be disabled when the project name matches the name of an already existing repository
- Remove deprecated diagnostics when defining integers in radix 2, 8, and 16
- Remove a duplicate of the error [ETYC0372003]
- Remove duplicate error [ETYC0372005] when array index is unknown variable
- Remove redundant diagnostics when declaration of 'owner' member in a record is followed by a colon
- Remove deprecated diagnostics for empty async functions
- Remove a duplicate of the error [EPAR0370005]
- Fix the [ETYC0372007] error message when a subtraction operator uses types not supported by that operator
- Fix diagnostics when nested tuple type is not as expected
- Fix diagnostics when the variable name is self
- Fix range of the error [EPAR0370017] if a sign and digits of a negative implicit value are on different lines
- Fix diagnostics when binary, octal or hexadecimal numbers are used in for loop as upper bound
- Fix a message of the error [ETYC0372007] if it has a mapping
- Fix the error code when a transition function has a constant input
- Fix diagnostics when accessing elements of unknown arrays
- Fix a highlighting of the Error [ETYC0372106]
- Fix diagnostics when the variable or constant name is the same as the function name
- Implement error diagnostics [ETYC0372036] if return statements are in the inside of conditional if-else statements
- Errors [ETYC0372023] are not diagnosed if tuple members are defined as members of non-explicitly typed tuples
- Fix diagnostics when the function signature is a unit expression and the return statements are inside an if-else conditional statement
- Fix diagnostics when a struct is created inside a ternary operator
- Fix a help message of the [ECLI0377033] error when there is no ENDPOINT variable in the .env file
- Errors [ETYC0372023] are not diagnosed when non-array type variables are defined as arrays with tuples not explicitly entered
- Remove redundant diagnostics if the tuple is implicitly typed and the tuple index is out of the tuple range
- Fix explicit return type fail
- Fix diagnostics when the first operand of a comparison operator is an unknown variable
- Remove false and redundant diagnostics if there is an unexpected string instead of the struct keyword when defining a structure
- Fix diagnostics if the mapping identifier is enclosed in parentheses when calling mapping functions
- Fix diagnostics when a tuple member type is defined as a tuple
- Fix diagnostics when tuples are defined by implicitly typed tuples
- Remove redundant diagnostics when you try to call a non-existent member of an implicitly typed tuple
- Implement diagnostics of an unknown variable if it is a member of a struct that is a tuple member
- Add diagnostics if the NETWORK variable has a new valid value of canary
- Change links on the packagecontrol page
- Fix the message of the Error [ETYC0372018]
- Fix a diagnostics of errors [EAST0372006] if there are standard and transition functions with the same names
- Fix diagnostics if an unknown variable is assigned to a struct member when a struct defining
- Fix diagnostics if tuple is not explicitly typed
- Remove Error [EPAK0375038] when a file in the src folder in a nested project has a non-leo extension
- Remove Error [EPAK0375020] when a file in the src folder in a nested project has a non-leo extension
- Fix diagnostics when there is no the program.json file in the project
- Fix diagnostics if there is a syntax error in program.json
- Fix diagnostics if there is an invalid type of a variable in the program.json file
- Fix diagnostics if external transition returns a tuple whose member is a record
- Implement diagnostics when the structure has no members
- Add diagnostics of tuples with unknown variables
- Implement diagnostics if the .env file is missing the ENDPOINT variable
- Add diagnostics if variables defined as tuple members have the same names
- Implement syntax highlighting for all languages
- Fix diagnostics when the return statement contains the mul() method but outputs are not defined in the function signature
- Fix diagnostics when the return statement contains a binary method but outputs are not defined in the function signature
- Fix the error message [ETYC0370005]
- Fix diagnostics when a tuple contains arrays with members of different types
- Fix highlighting of the error [ETYC0372019] when there is no the variable "owner" in the record
- Fix diagnostics when there is no equals sign after the variable name in the .env file
- Implement diagnostics if network name in the .env file is invalid
- Fix error message [EPAR0370005] when trying to cast a primitive type to an unexpected type
- Remove the diagnostics message duplicate of the error [EPAR0370017]
- Remove redundant and incorrect diagnostics when an async transition and the async function have the same names
- Fix diagnostics when an identifier starts with aleo1
- Implement new codes for errors that occur when unit expressions are used in a variable or constant declaration
- Implement new error codes if an invalid group core constant is typed
- Implement the new error code when an array is empty
- Implement the new error code when the program has no transition function
- Implement the new error code when an array has more than 32 elements
- Implement the new error code when a variable of the string type is defined
- Implement new diagnostics when then is a variable name
- Implement diagnostics if an async function call block is empty
- Implement diagnostics when an async function returns a value
- Implement diagnostics if an input to an async function has an incorrect mode
- Implement diagnostics when mapping methods are used outside of an async function block
- Implement diagnostics when an async transition calls a non-existent function
- Implement diagnostics if an async transition does not call an async function
- Highlight async and Future in red
- Implement diagnostics for new syntax of the finalize
- Add diagnostics for a new finalize syntax when an async function has no parameters
- Implement diagnostics when a variable is re-assigned from a conditional scope to an outer scope in an async function
- Add diagnostics if an identifier is the
async
keyword - Implement a new error code when tuple type or tuple expression contains another tuple
- Implement a new error code when a local transition function is called from another transition function
- Implement a new error code for cyclic dependency between structs
- Implement new diagnostics for the multiplication operator
- Add diagnostics when
self.signer
orself.caller
are used in an async function call context - Add diagnostics and change error code if tuples on the left-hand side of a
DefinitionStatement
contain literals - Add diagnostics when ChaCha operation is used in a transition function
- Implement diagnostics when an async transition calls a not async function
- Highlight Future in red
- External mappings should be white
- Implement diagnostics when network.id is used as allowed accesses to
network
- Add diagnostics when the number of async function parameters mismatch the number of inputs when it is called
- Implement new diagnostics for operation
contains
on external mapping - Add diagnostics when a loop body inside a transition function contains an async function call
- Implement diagnostics when the type returned by an async transition is what is expected but has extra spaces and trailing commas
- Add diagnostics if a variable of Future type is reassigned-
- Add and fix diagnostics if the output of an async function is not assigned to a
Future
type - Highlight a Future type like when hovering
- Add diagnostics when two local async functions are called inside an async transition
- Add diagnostics if Futures that are never awaited are used
- Add diagnostics when an async function's output is not assigned of type "Future"
- Add diagnostics when an async function is called in a conditional block
- Add diagnostics when a non-async transition returns a future
- Add diagnostics when not all futures are consumed
- Add diagnostics when an async call is made from a non-async transition
- Implement diagnostics when a transition returns an async transition and the transition type is defined as Future
- Add diagnostics when the await() function is called from an unknown variable
- Implement diagnostics when a valid core function Future::await is called
- Implement new diagnostics when two args are passed to a valid core function Future::await
- Add diagnostics if a non-boolean record member is the if statement condition
- Add diagnostics if a literal or non-future variable is passed to an async function
- Add diagnostics when a future is awaited twice
- Implement diagnostics when dependencies in the program.json file equal null
- Add diagnostics if an async function returns a Future
- Add diagnostics when the async function type is not defined as Future
- Implement diagnostics for new syntax self.address and nonexistent.aleo
- Add diagnostics when a variable of type Future is reassigned
- Add diagnostics for assignment statements
- Add diagnostics when dividing unknown variables
- Add diagnostics when an async transition returns an async function whose input is an unknown variable
- Add diagnostics when an async function's input type does not match the type of its parameter
- Implement an async function paths counter to diagnostics the error [ETYC0372092]
- Add warning [WTYC0372000] if not all paths through the async function await all futures
- Add the warning [WTYC0372001] when a future is awaited twice
- Add diagnostics of the error [ETYC0372095] when an await call is not a valid
- Add error diagnostics [ETYC0372100] if more than two local async functions are called in an async transition function
- Add a warning if the maximum depth of conditional blocks is exceeded in an asynchronous function
- Add diagnostics when trying to access a non-existent argument from Future
- Implement diagnostics when output type in async transition signature is not a Future
- Implement access diagnostics to arguments of Future
- Add diagnostics when the future argument types in the return statement do not match the future argument types in the async transition signature
- Implement diagnostics when structures and signatures are compared
- Change error code when the function return value is a constant
- Change error code when loop bound is variable
- Change error code when a struct or record contains another record
- Change the help information and add it to the diagnostic message
- Change the error code when the number of tuple elements is not as expected
- Change the error code when the number of mappings exceeds 31
- Change the error code and help info for operations
set
andremove
on external mapping - Update to leo 2.0.0.
- Fix diagnostics of binary operators types
- Fix the error code if a mapping's value or mapping's key is a record
- Fix diagnostics when a number is found instead of an identifier in external resource
- Fix diagnostics when an external mapping is enclosed in parentheses
- Fix diagnostics when a struct member is called from a Future like from a struct
- Fix diagnostics when .await() operation is used in an async transition
- Fix the [ETYC0372003] error message if a variable of Future type is reassigned
- Fix diagnostics when await() function is called from literal
- Fix diagnostics when the await() function is called from a non-Future variable
- Fix diagnostics if a full and universal formats of the Future type are used
- Fix diagnostics when a non-Future variable is passed to a valid Future::await core function
- Fix hovers for async transitions and async functions
- Fix diagnostics when an async function returns a value
- Fix diagnostics when there is an empty struct
- Fix autocompletion in the program scope according to the new syntax of async calls
- Remove diagnostics error [EPAR0370009] when an unexpected constant is called from block
- Error [ETYC0372089] is not diagnosed if the parameter type of an async function is Future, but another data type is passed to the function
- Fix diagnostics when external async transition type is Future and contains program name with slash
- Remove redundant diagnostics if an invalid target is an invalid array member
- Fix diagnostics when an assignment target is a unit expression
- Fix diagnostics of external calls to .leo programs that are not supported
- Fix the error code when an unexpected constant is called from block
- Remove redundant diagnostics when the async function type is not defined as Future
- Remove diagnostics errors [ETYC0372005] when there are keywords instead of variable identifiers
- Remove diagnostics error [EPAR0372009] when there are
=
instead of variable identifiers in variable definitions - Fix a syntax highlighting in some examples
- Highlight the return keyword in red in the Basic Bank example
- Fix a type highlighting if it is a nested Future
- Fix highlighting of hover for core function await()
- Fix diagnostics when a Future is awaited in an async transition scope
- Fix diagnostics when a variable of type Future is reassigned with the *= operator
- Fix the highlight range of the error [ETYC0372053]
- Fix diagnostics when self.caller or [id].aleo are passed to assert functions
- Fix diagnostics when identifier starts with sign1
- Fix diagnostics when an output type in the function signature is a unit expression
- Fix diagnostics when a struct is created inside a ternary operator
- Fix diagnostics when there is no semicolon at the end of a tuple member call
- Remove duplicate of the error [ETYC0372005] when await() is called from an unknown variable enclosed in parentheses
- Fix diagnostics when output type of an async transition contains a detailed form of future
- Fix diagnostics when a tuple whose members are arrays is defined
- Fix function highlight when calling a function whose name is wrapped in parentheses
- Fix diagnostics if the function name is in parentheses when calling a function
- Remove redundant diagnostics when a tuple index goes out of range
- Remove diagnostics errors if async function`s parameters types are universal forms of futures
- Fix syntax highlighting if a transition ends with "return;"
- Fix syntax highlighting for members of a nested struct in the return operator
- Fix diagnostics if the input of an async function is a call to an external async transition
- Fix syntax highlighting after a comment with the word `return' at the end
- Show hovers for external mappings
- Show hovers for locators of the external program
- Fix diagnostics when the "network" has an unexpected value in the dependency
- Fix diagnostics when a function and a function variable have the same name
- Fix the name of the variable that is not a member of the structure in the error message [ETYC0372018]
- Fix diagnostics when a mapping, a function parameter and a function variable have the same name
- Fix diagnostics when a struct and a transition variable have the same name
- Remove redundant diagnostics when there is a non-closed string
- Fix server exception: TypeError: Cannot read properties of undefined (reading 'text')
- Implement diagnostics if mapping operations are used on external mapping
- Add diagnostics when there is a non-existent record member in the if statement condition
- Add diagnostics when an external program has no transition function
- Show hovers for external mappings
- Show hovers for functions and external transitions
- Implement diagnostics when a struct and a transition variable have the same name
- Remove duplicate error message [EPAR0370009] if there is a parenthesis instead of constant identifier
- Add diagnostics if a struct member is an array/tuple of structures of undefined type
- Implement diagnostics when in an external program standard functions have modes associated with their inputs and transitions have constant inputs
- Implement a syntax highlighting of the 'finalize' block call
- Add diagnostics when constant inputs of functions are re-assigned
- Implement diagnostics if an external mapping is used in the mapping methods
- Add diagnostics when the
set
operation uses an external mapping - Implement diagnostics when a variable is reassigned from a conditional scope in a finalize block
- Error is not diagnosed if the if-else statement condition is a different types comparison
- Add diagnostics if a program scope is missing
- Remove redundant diagnostics if an external type is a keyword when defining a constant
- Remove redundant diagnostics if non-existent mapping calls mapping functions
- Fix diagnostics if creating a struct defined in current and external programs
- Fix diagnostics if an external type is a keyword
- Fix diagnostics if there is a keyword instead of a valid external type
- Fix diagnostics if a program identifier is a keyword
- Fix the highlighting of function names in Split View mode in Sublime Text
- Fix diagnostics if the array size does not match the expected one
- Fix diagnostics if the array member type does not match the expected one
- The error occurs when trying to show hover in Sublime Text
- Fix diagnostics if struct and mapping have same names
- Add diagnostics when there is an unknown function or an external unknown variable in an expression
- Add diagnostics if the condition of the if statement is an external mapping
- Fix the [ETYC0372003] error message if a variable type in the for statement condition is a record that is defined in an external program
- Fix color of identifiers of external functions
- Remove redundant diagnostics when functions defined in external programs take in records defined in external programs
- Fix diagnostics if the finalize function returns a tuple that is not explicitly defined
- Fix the color of a struct member if it is returned by a function
- Fix the syntax highlight after a mapping definition if a mapping value type is is defined as an external type
- Remove redundant diagnostics when the number of function inputs is greater than the number of parameters
- Fix the syntax highlight
- Diagnostics error when a record or struct definition in the current program matches the definition in an external program
- Fix diagnostics when a function returns a struct that is defined in the current and external programs
- Fix diagnostics if a transition of an external program calls a transition of another external program
- Add a help message to the error [ETYC0372095]
- Implement diagnostics when trying to call an external .leo program
- Add diagnostics if a variable type is not found in the current scope when defining a variable
- Implement diagnostics when an external inline function is called
- Add diagnostics when an input type of an external function does not match a parameter type
- Implement diagnostics when a mapping's key/value is an external record
- Add diagnostics if a finalize function returns a record
- Implement diagnostics when a finalize block takes in a record as input
- Implement diagnostics if the variable type in the for loop condition is defined as an external record
- Implement diagnostics when struct or record contains external record
- Fix error message [ETYC0372007] if there is an invalid network identifier when calling an external transition
- Remove redundant false diagnostics if there is any keyword instead of a variable type when defining a variable
- Fix the error message [ETYC0372028] when standard function has modes associated with their inputs
- Fix diagnostics if the condition of the if statement is a type that is defined in an external program
- Fix diagnostics if the condition of the if statement is a record member that is defined in an external program
- Fix a message of the error [ETYC0372003] if an if operator condition is a record that is defined in an external program
- Add diagnostics when an expected type does not match the type that an external transition returns
- Remove ETYC0372007 diagnostic for invalid external call when statement has integer or field type
- Fix diagnostics if the record type definition in a root program does not match the definition in an external program
- Fix diagnostics in a postfix expression that contains an external resource when there are syntax errors
- Add types diagnostics for multidimensional arrays
- Add diagnostics if tuple members are multiplications of groups
- Add diagnostics if binary methods are enclosed in parentheses
- Implement cyclic dependency of structs according to leo code
- Show a hover for block.height, self.caller, and self.signer commands
- Add diagnostics if the defined structure has more than 32 members
- Add diagnostics when a variable returned by a function and a structure have the same name
- Implement diagnostics if the network identifier is invalid in import file syntax
- Implement diagnostics when .aleo is entered after the struct/record keyword when defining a structure
- Implement diagnostics when an invalid external type is defined
- Implement diagnostics if a struct and function parameter have same names
- Implement diagnostics when a const and function parameter have the same names
- Implement diagnostics associated with
program.json
- Add diagnostics if a function parameter is of tuple type with one element
- Add diagnostics for an empty struct
- Implement diagnostics if program import is not found in program manifest
program.json
- Add diagnostics when there is a negative variable of the unsigned type in parentheses
- Remove diagnostics errors if function name matches the function parameter names
- Add more information to the error message [ETYC0372017]
- Add diagnostics when negative variables are array members
- Implement diagnostics when a non-existent external transition is called - WIP.
- Implement diagnostics if the value type of the fields in the program.json file is invalid
- Add diagnostics when a mapping name matches variable names or function parameter names
- Implement highlighting for the new syntax of external programs import
- Add Help Info to diagnostic messages
- Implement autocomplete for imports
- Implement autocomplete for keywords 'program' and 'import'
- Add diagnostics when a program scope name does not match the import program name
- Add diagnostics if the "location" property in the program.json is missed or has an unknown value
- Add diagnostics if there is a keyword 'as' instead of an identifier of the function input parameter
- Add diagnostics if the for loop condition contains the keyword "as" instead of a variable identifier
- Implement diagnostics if the identifier of a function, variable, structure, or structure member is the keyword 'aleo'
- Add diagnostics if there is an invalid network identifier when calling an external mapping
- Implement diagnostics when the imported transition is called
- Add diagnostics if there is any keyword instead of a variable type when defining a variable
- Add diagnostics when a function parameter type is defined by a non-existent external type
- Implement diagnostics if an external structure is defined
- Remove the warning that the function must have a Snake case name
- Remove diagnostics errors when a struct name matches function parameter names or variable names
- Remove redundant diagnostics if operand types don't match and the destination type is boolean
- Remove a redundant error if a "group" literal starts with an underscore
- Remove duplicate of the error [EPAR0370018] if invalid hexadecimal number is specified
- Remove diagnostics errors when referencing an external mapping
- Fix an autocomplete in the empty program scope
- Fix diagnostics when the array length has leading zeros
- The autocomplete dropdown does not appear after entering boolean or scalar values
- Fix diagnostics for unary methods abs(), abs_wrapped(), double(), inv(), not(), square(), square_root()
- Fix diagnostics for unary neg() method if operand type is not supported
- Fix diagnostics for unary methods to_x_coordinate() and to_y_coordinate()
- Fix diagnostics when a double colon
::
syntax is used for not core functions - Fix autocompletion when accessing struct elements
- Fix diagnostics when one of the keywords "function", "let", "else", etc. is entered instead of a function parameter type
- Diagnostic errors when there are numbers at the beginning of the variable identifier
- Add diagnostics if an unknown type in the chain calls the neg() method
- Add diagnostics if there are binary and unary operations in the chain
- Fix errors range if the first members of the chain are enclosed in parentheses
- Fix diagnostics when a double colon
::
syntax is used with any helper or inline function - Remove redundant error [ETYC0372006] when an unexpected string is passed to the core function instead of an expression
- Fix an underline of the [ETYC0372003] error when the type of a nested tuple member is not as expected
- Fix error code [ETYC0372085] to [ETYC0372087]
- Fix error code [ETYC0372084] to [ETYC0372086]
- Fix a range of the error [ETYC0372052]
- Fix a range of the error [ETYC0372072]
- Fix error code [ETYC0372087] to [ETYC0372089]
- Fix diagnostics when functions have a record as input and/or output
- Fix the diagnostics error when there are structs or records with same names
- Add diagnostics when an expression is passed into a helper or inline function
- Fix diagnostics when an unary method is called by the to_x/y_coordinate() method
- Fix diagnostics when the transition parameter is an array of unknown type
- Add diagnostics when there is an unknown operand in + or - operators
- Fix diagnostics when a program does not have transition functions
- Diagnostics related to
program.json
should be displayed only in the main.leo file of the root program - Fix diagnostics when function parameter, struct or record members are of unit type "()"
- Add diagnostics if the 'const' keyword is entered instead the identifier of a struct or record member
- Add diagnostics when units are array members
- Fix diagnostics if the string 'static' is entered before the identifier of a structure member
- Add diagnostics when a transition returns a tuple and a member of this tuple is an expression
- Fix a range of the error [EPAR0370021]
- Fix diagnostics of program id value in the 'program' field of the program.json file
- Fix diagnostics if there is any keyword instead of struct member id when calling a struct member
- Fix diagnostics when structs have the same name
- Diagnostic error messages in Leo project files are not removed after deleting or renaming those files
- Fix function call detection inside ERROR node
- Autocompletion for imports does not work if a non-existent import is added to program.json
- Fix the error of the syntax file loading when opening Sublime Text
- Fix highlighting of comments
- Add diagnostics when there are two matching struct definitions with the same name
- Fix diagnostics when a program ID value in the 'program' field of the program.json file equals empty string
- Fix diagnostics if an invalid address literal has a capital letter
- Fix diagnostics if when defining an array, instead of the expected integer literal, there is a unit expression or a string of letters and numbers in round or square brackets
- Add diagnostics if a binary method has no target and the first operand of the method is an unknown variable
- Add diagnostics if the specified parameter type of the finalize() function does not exist
- Fix diagnostics when the length of the returned tuple is not as expected
- Fix diagnostics for the deprecated keyword
increment
- Fixed the problem of unordered handling of Language Server events, which led to memory leaks and exceptions
- Fix diagnostics when a project is missing an .env file
- Remove diagnostic error [ECMP0376006] when importing a program, if the .leo file of this program does not exist/incorrect, but the name of this program is present in the dependencies of the manifest file
- Fix diagnostics when an incorrect .leo file in the diagnostics refers to the main project manifest file
- Fix diagnostics if an array is an input of BHP or Poseidon algorithms
- Remove redundant error [ECMP0376006] when program is imported and program.json file is invalid (prop "program" is an object)
- Remove duplicate error [EPAR0370032]
- Add diagnostics when a function that returns nothing is assigned to a variable
- Fix diagnostics when parsing errored syntax containing LF/CRLF newlines
- Remove a duplicate of the error [EPAR0370005] if there is an underscore instead an integer literal when an array defining
- Fix diagnostics if there is no PRIVATE_KEY value in the .env file
- Fix diagnostics if a "group" literal starts with an underscore
- Fix Leo syntax highlighting in Sublime Text
- Remove redundant diagnostics if an invalid expression is returned or defined
- Implement diagnostics if the identifier of a constant is a Leo language type keyword
- Add diagnostics if the identifier of a structure, mapping, function, or function parameter is a 'signature' keyword
- Logical errors should not be diagnosed within an expression where there are syntactic errors
- Fix highlighting of a return variable if its name matches the type name
- Fix error message [EPAR0370035] and error message [EUTL03710014]
- Add diagnostics if there is no function before the finalize block
- Add diagnostics when the finalize function type does not exist in the current scope
- Remove a duplicate of the error [EPAR0370005]
- Fix diagnostics when a non-existent external mapping is called
- Fix diagnostics if a variable is called from an external program for which there is no import
- Fix diagnostics when referencing own mapping as an external one
- Fix diagnostics if there is an invalid network identifier when calling an external transition or function
- Fix diagnostics if an external entry specifies a type of transition parameter
- Fix diagnostics if an external transition is accessed without specifying an external program
- Fix diagnostics if an external record defines a transition type
- Fix diagnostic error message [ETYC0372017] when a variable type is defined by a non-existent external type
- Fixed issue comparing uri with upper/lower case of drive partition (when analyzing imports)
- Language server crashed when call not assigned external function
- Implement diagnostics when a transition function is declared with an redundant return type and curly bracket
- Add diagnostics when the expression is preceded by an opening parenthesis
- Add diagnostics of Mapping expression errors
- Add diagnostics when a finalize function calls a transition function
- Add diagnostics when a function is called from a finalize of function or from a finalize of inline
- Implement diagnostics if the function's return type is declared as a tuple of unknown type
- Implement diagnostics when an array is a struct or record member
- Add diagnostics when 'self' calls non-existent signer() and caller() functions
- Implement diagnostics when an array index is a type cast
- Implement diagnostics when a member of a constant tuple is a type cast
- Add diagnostics when an array is explicitly declared as an array of tuples
- Remove the warning that the structure must have a Pascal case name
- Fix diagnostics for chain of mul() methods with unsupported type operands
- Remove a redundant diagnostic error if a function parameter contains public, private or constant keyword instead of a colon
- Remove redundant diagnostics error when a struct calls an invalid core function
- Fix diagnostics when a single-element tuple is defined as an array elements type
- Fix diagnostics if members of a tuple are multiplications of groups and scalars
- Remove diagnostic errors if unexpected characters follow curly brace when defining a structure
- Fix diagnostics when there is no colon after the function parameter identifier
- Fix diagnostics when assigning a regular variable or literal to an array
- Fix diagnostics when assigning an array to a regular variable
- Remove a diagnostics error if an unexpected end-of-file is found
- Fix diagnostics if a value type is missing in the mapping statement
- Fix diagnostics when variables or literals of one type are cast to another type
- Add diagnostics when an unknown variable is passed to the "finalize" function
- Add diagnostics if the keyword "then" is missing when calling the "finalize" function
- Fix diagnostics when array members are unknown variables
- Fix diagnostics if input is passed to the "finalize" function without parentheses
- Remove the duplicate of the error [ETYC0372005] when a typecast of an unknown variable is operand of Leo statements
- Fix diagnostics when array members are casting types
- Fix diagnostics if the array length is followed by one of the reserved words
- Add diagnostics when a constant in the nested loop condition has an unexpected type
- Fix diagnostics if assert functions are preceded by an opening parenthesis
- Remove redundant diagnostics errors [ETYC0372003]
- Implement the removal of symbols in the terminal on the playground
- Implement diagnostics of cyclic dependency of structs when struct members are struct arrays
- Add the advanced Token example to the playground
- Implement improved error diagnosis logic when the tree is broken
- Add diagnostics if the variable in the for loop condition is an array
- Add diagnostics if the tuple expression contains an unexpected string instead of a closing parenthesis
- Implement diagnostics when the right side of a variable assignment statement has an unexpected symbol instead of an expression
- Implement diagnostics of cyclic dependency between functions when one function is called from the finalize of another function
- When loading the page, show the command corresponding to the current example in the terminal
- Fix diagnostics when a tuple whose members are tuple variables or tuple constants are assigned to a tuple
- Fix incorrect behavior and display in the terminal after resizing the browser window on the playground
- Remove a duplicate of the error message when an array element is an unknown variable
- Fix diagnostics errors when array type and array elements are defined by a unit expression
- Fix diagnostics for binary methods chaining
- Fix diagnostics when a constant of an outer for loop is used in a nested for loop
- Errors are not diagnosed if the first operand of a binary operator is enclosed in parentheses
- Fix diagnostics if a defined struct member is followed by a string of unexpected characters instead of a comma
- The cursor constantly jumps in the .env area on the playground
- Fix diagnostics when the syntax tree breaks and redundant errors occur if there is an unexpected non-semicolon string in the program area
- Fix diagnostics if there are underscores or leading zeros in the length of the array when defining an array
- Fix diagnostics when after the transition type an arbitrary string placed instead of the expected opening curly brace
- Fix diagnostics if the array element type is not as expected type
- Fix diagnostics if a tuple type contains an unexpected string instead of a closing parenthesis
- Remove redundant diagnostics for binary methods chaining
- Remove redundant diagnostic error when instead of a transition type we have a string with numbers at the beginning or with special characters anywhere
- Remove redundant diagnostic errors when a standard function is defined as a member of a struct
- Fix diagnostics if the program definition has unexpected symbols or numbers instead of a curly brace
- Remove redundant diagnostics if there is an unexpected numeric string with an underscore
- Remove redundant diagnostics if there is no semicolon at the end of the expression
- Remove redundant diagnostics errors if there are underscores or leading zeros in the length of the array
- Fix diagnostics in a chain of binary operators when the first operator in the chain is the operator '*' for group
- Fix an underline of the [EPAR0370009] error when there is an unexpected characters line at the beginning of the Leo expression
- Remove redundant diagnostics errors if an invalid expression contains a comparison sign
- Remove redundant diagnostics errors of function parameters types
- Fix diagnostics if the array type is placed in several lines
- Remove redundant diagnostics when referencing a tuple element without an index
- Critical error "TypeError: Cannot read properties of null" when hovering over a variable
- Reorganize playground windows
- Add to the playground a CLI section that allows user to run bash commands and Leo transitions
- Add a hover over to a variable that is defined outside the for loop but is used inside the loop
- Implement array data type support for function inputs, return type and variables
- Implement the clear command for clearing the terminal screen on the playground
- Implement diagnostics for access to array elements
- Implement a help command to be output whenever an unsupported command is entered into the terminal emulator in the playground
- Add diagnostics when an assignment target is an array element
- Color the literal of the array length blue
- Show hover an array when array element accessing
- Implement support for array expression
- Implement comparing array items to type
- Add diagnostics for array items passed into function parameters
- Implement left and right cursor movement in the terminal on the playground using the left and right arrows
- Add diagnostics if a const variable from for loop condition is reassigned
- Update advanced examples according to terminal functionality
- Remove support for .in files
- Remove 'Inputs' and 'Run' ondoarding-description windows on the playground
- Remove Run dropdown from playground and Run buttons in leo code from playground and VS Code
- Fix diagnostics of binary methods types
- Fix types diagnostics of the binary method mul()
- Fix hovering over a for loop variable
- Fix parsing of parameters wrapped in quotation marks for leo commands on the playground
- Fix types diagnostics of binary methods eq(), and neq()
- Fix types diagnostics of binary method pow()
- Fix types diagnostics of binary methods shl(), shl_wrapped(), shr(), shr_wrapped(), pow_wrapped()
- Fix issue when multi-line command is displayed incorrectly in the playground terminal if it is pasted on the bottom line
- The Backspace button in the terminal on the playground does not work correctly if the command is inserted using the CTRL+V
- Fix diagnostics if the array is explicitly passed to the helper or inline function
- Fix diagnostics if arrays are used when structures, records or mappings are defined, created and used
- Fix diagnostics when the array is explicitly passed to the finalize function
- Fix diagnostics if the number of array elements exceeds 33
- The record keyword should be red when hovering over a record
- Show hovering over a for loop constant inside of the loop
- Fix diagnostics of array elements types
- Fix incorrect behavior when pressing backwards/forward/backspace keys if the command length is wider than the terminal area on the playground
- Add diagnostic for mapping shadow
- Add diagnostic for function shadow
- Implement diagnostics if the self.signer operand is used in a finalize context
- Add diagnostic for record shadow
- Add diagnostic for struct shadow
- Mismatch tuple length
- Implement the definition of the absence of a variable among constants
- Implement diagnostics [EPAR0370009] when constants are defined using tuple
- Implement diagnostics when reassigning constant
- Color the async keyword purple
- Color the const keyword red
- Implement diagnostic for constant shadow
- Implement [ETYC0372062] diagnostic for constant
- Implement [ETYC0372023] diagnostic for constant
- Implement [ETYC0372080] diagnostic for constant
- Add diagnostics when the value of a const declaration is not a literal
- Implement constants diagnostics
- Show hover for global constants
- Implement diagnostics when the constant identifier is enclosed in parentheses when constant defining
- Add Tic Tac Toe example back to playground
- Color the 'self' and 'await' keywords purple
- Add a "const" item to the autocomplete dropdown
- Fix the [ETYC0372043] error message when there is not allowed access to 'self'
- Fix error code [ETYC0372078] to [ELUN0379000]
- Remove an unnecessary diagnostic error when comparing literals of the signature type
- Fix diagnostic of incorrect definition of function parameter mods
- Fix diagnostics of the signature comparison
- Fix error definition [ETYC0372049] to [ETYC0372081]
- Remove redundant diagnostics when comparison operators gt(), gte(), lt(), lte() contain two addresses
- Diagnostics errors when defining the type of the constant
- The color of the shr method must be green
- Fix an underline of the Error [ETYC0372054] when defining a constant
- Fix diagnostics if the member of the global tuple constant is called
- Fix error message when expected boolean type does not match input type
- Fix diagnostics when a variable is first used and then defined
- Fix diagnostics, hovers, and error messages if there are spaces between tuple member types when defining a tuple
- Improve ui for deploy and execute dialog
- Implement diagnostics of Keccak256, Keccak384, and Keccak512 algoritms
- Implement diagnostics of SHA3_256, SHA3_384, and SHA3_512 algoritms
- Add diagnostics if a mapping and a variable in the transition scope have the same name
- Tuples on the left-hand side of a
DefinitionStatement
can only contain identifiers
- Update onborading flow
- Updated tooltips for deploy and execute dialogs
- Remove unnecessary examples from playground
- Fix the "Report an issue" link on the playground
- Fix diagnostics when a mapping is assigned a value
- Remove a warning about the name of the pascal case for SHA3_ methods
- Fix diagnostics if there are mappings with the same name
- The hover over SHA3 and Keccak should be red
- Fix diagnostics if there are no address type operands in gt(), gte(), lt(), lte() operators, but there are operands of other unsupported types
- Fix diagnostics when the types of the first and second arguments don`t match in the comparison operators gt(), gte(), lt(), lte()
- Fix diagnostics if the entered destination type of operators gt(), gte(), lt(), lte() is not supported (is not boolean)
- Fix diagnostics of the maximum number of mappings if there are mappings with the same name
- Fix the [EPAR0370005] error message
- Fix diagnostics if target variable type is not supported by square_root() function
- Fix an issue that caused the server to run slowly by removing the previous unnecessary syntax tree that was overflowing memory
- Fix diagnostics if a transition returns a method of an expression in parentheses
- Add diagnostics if the verify() function is called by the non-signature and the destination is not defined as boolean
- Add diagnostics when the address value is not valid in the input file
- The input records in the examples on the playground does not belong to the signers
- Remove a redundant diagnostic error if a function parameter contains a duplicate function name instead of a colon
- Fix diagnostics when there is an integer with several minus signs
- Fix an error message if the number of inputs is not as expected
- Fix the error underlining when the used struct is not defined in the program scope
- Fix diagnostics if the literal in the input file is out of range
- Add diagnostics when the structure defined in the import file is used
- Fix diagnostics when comparison operators gt(), gte(), lt(), lte() contain an address
- Fix diagnostics if a signature value in the input file is invalid
- Remove duplicate error message when address value is not valid
- Changes in the input file are diagnosed only after the playground is reloaded
- Fix diagnostics when the underscore character in the signature value is in the inside or immediately after sign1
- Add diagnostics if the verify() function is called by not a signature and the first argument is not an address
- Fix the message of the Error [ETYC0372003] with mapping
- Fix a problem with a series of transitions running without waiting for the previous call to complete on the playground
- Implement diagnostics if private key length is invalid
- Implement diagnostics if there is no private key in the .env file
- Implement diagnostics if the account private key prefix is invalid
- Update the Aleo Instructions grammar for structs highlighting
- Color the signature type green
- Add diagnostics if the verify() method is called by a not "signature" type
- Implement autocomplete for signature methods
- Show hover for the verify() function and signature type parameters and variables
- Color the literals that contain underscores
- Color the numeric literals that contain underscores
- Fix diagnostic [ETYC0372078] for code containing numbers with underscores
- Fix diagnostics if the last parameter of the verify() function is a signature
- Fix diagnostics when the signature type parameter is defined in the input file
- Fix diagnostics when tuple index contains underscores or leading zeros
- Fix error messages if the assert_eq() or assert_neq() function argument is an unknown variable
- Fix diagnostics if a numeric literal that contains underscores is a function argument
- Fix diagnostics if there is a literal with underscores
- Fix an error message if a transition expects a literal but gets a struct
- Fix diagnostics if the value of the literal with underscores is out of range
- Implement diagnostics when there is an import call from a non-leo file
- Implement diagnostics if there is no dot after an import file name
- The error is not diagnosed when trying to import a file that does not exist
- Implement diagnostics if the import file identifier is missing from the import declaration
- Implement diagnostics if there is no semicolon at the end of the import declaration
- Implement diagnostics if there is no .env file in the leo project
- Implement diagnostics of the 'signature' type
- Add diagnostics if the loop range is decreasing
- Change Leo/Aleo code toggle styles
- On change active editor tab set the Leo color scheme
- Fix diagnostics if the casting operator is enclosed in double parentheses and is not followed by a semicolon
- The unique identifier of the application disappears after Reset
- Fix diagnostics when {},:;=?/+- characters follow a dot in an import file
- Fix file type in error message when imported file does not exist
- Remove diagnostic errors that appear on the playground after entering any character
- Fix the underlining of the error when a digital string follow a dot in an import file
- The color of the file names in import declarations must be completely yellow
- Remove a diagnostic error that appears on the playground after entering two characters
- Rebrand color scheme
- Rebrand with new logos and color scheme
- Implement records and structures coloring in input files on the playground
- Implement diagnostics when the exponent type is u128
- Implement record members and struct members coloring in input files
- Add diagnostics of conditional AND and conditional OR statements
- Implement diagnostics when the signed integer type of the base of the exponent matches the type of the exponent
- Add diagnostics for
&
and|
operators - Add missing diagnostics for the exponentiation operator
- Implement the Deploy/Execute functionality in the Playground
- Implement an error [EPAR0370005] diagnostics when a string that starts with numbers or special characters is found instead of a variable type
- Implement diagnostics if function name is not identifier
- Fix an underlining of the error [ETYC0372007] for conditional AND and conditional OR statements
- Fix critical issue in the implementation of hovers on circuit/struct
- Fix critical issue in the implementation of hovers on Mapping methods
- Fix critical issue when function name is not identifier
- Fix diagnostics when instead of defining a struct member we have an expression starting with a keyword
- Implement diagnostics when a struct member in the input file is incorrect
- Implement autocomplete feature for group static methods and group instance methods
- Show parameter modifiers when hovering over a finalize and transition functions
- Add types diagnostic when a cast statement is an expression operand
- Implement .env file support according to Leo 1.9.0 on the playground
- Show hover for inline functions
- Add diagnostics if the cast statement contains an implicitly typed tuple
- Add diagnostics of Mapping::contains and Mapping::remove methods when the type of the method's argument does not match the expected
- Fix diagnostics where there is an unexpected string after a cast statement instead of a semicolon
- Fix diagnostics when casting a type of a statement second operand
- Fix diagnostics when a cast operator has an unexpected string instead of a cast type
- Fix diagnostics if a Leo program is named 'increment' or 'decrement'
- Fix diagnostics if the first struct member declaration is followed by spaces
- Fix autocomplete feature of static methods
- Fix diagnostics when an unexpected string follows an annotation
- The 'private' modifier is not shown when hovering over functions
- Remove redundant diagnostic error if a cast expression contains an unexpected string instead of a cast type
- Show hover over for the transition and finalize functions
- Implement autocomplete for Mapping methods
- Add hover for mapping
- Implement autocomplete for BHP, Pedersen, Poseidon and ChaCha methods
- Implement hover for ChaCha
- Implement diagnostics when a
finalize
statement is used without afinalize
block - Implement diagnostics when a double colon
::
syntax is used for access to a struct member - Implement structure initialization expression diagnostics if the structure is defined multiple times
- Implement diagnostics when transition inputs are not defined in the input file
- Add diagnostics when Mapping core functions are used outside of the finalize block
- Implement diagnostics of the ChaCha::rand core functions
- Add diagnostics when ChaCha:rand core functions are passed an unexpected args number
- Add diagnostics when ChaCha::rand core functions are used outside of the finalize block
- Implement diagnostics of Mapping::contains and Mapping.remove core functions
- Implement diagnostics of to_x_coordinate() and to_y_coordinate() group core functions
- Implement diagnostics of remove() and contains() operators
- Implement diagnostics of to_x_coordinate() and to_y_coordinate() group core functions when the function's argument is not a group
- Implement diagnostics of the types casting
- Add diagnostics when trying to cast a field to a group or address
- Add diagnostics when trying to cast an address, group, or field to a boolean type
- Add diagnostics if more than sixteen inputs are added to function
- Show hover over for record and record variables
- Fix diagnostics when BHP, Pedersen, and Poseidon core functions contain a mapping or tuple argument
- Fix diagnostics when a scalar or integer literal is cast to another type
- Fix a diagnostics error when a struct member is cast to a different type
- Fix tooltip when hovering over a record variable or struct member
- Implement diagnostics if a Leo program does not have transition functions
- Implement diagnostics for BHP, Pedersen, and Poseidon core functions of Leo compiler v.1.8.0
- Implement diagnostics when a finalize function contains a self.caller operand
- Implement diagnostics when a finalize block contains a finalize statement
- Implement diagnostics when "mapping" contains a tuple or any special character as type
- Implement diagnostics when mapping and transition have the same name
- Add diagnostics if Mapping core functions contain a variable defined as self.caller
- Implement diagnostics of the block.height command
- Fix diagnostics if there is no curly bracket after the function type
- Fix diagnostics when several functions that are not associated with a given type are called consecutively
- Add diagnostics when a function parameter has an identifier
scalar
- Fix diagnostics message for incorrect type of binary methods argument
- Fix diagnostics when hash_to_integer core functions of BHP, Pedersen, and Poseidon contain mapping or unit expression
- Fix diagnostics of commit_to_... core functions of BHP, and Pedersen
- Fix diagnostics if self.caller operand is in a finalize context
- Implement diagnostics when there is an unexpected space between a number and a type
- Add diagnostics when a tuple expression contains multiple other tuples
- Add diagnostics when a tuple member type is not found in the current scope
- Implement diagnostics if there is no "=>" sign in the mapping statement
- Add diagnostics if a finalize function contains a return statement and returns a value but an output from a finalize function is not defined
- Add diagnostics if the assert() function argument is an unknown variable
- Implement diagnostics when the mapping value is defined as a record and the mapping functions set the mapping value to a not record
- Add diagnostics for group constant
- Implement diagnostics if Mapping functions are not inside a finalize block
- Implement diagnostics when a "string" type is the type of the first argument of BHP, Pedersen, and Poseidon functions
- Implement diagnostics when comparing string values
- Implement diagnostics when a function returns an unknown struct
- Fix underline of [ETYC0372015] and [ETYC0372016] errors when
struct
and/orrecord
are defined with more than one member with the same name - Fix an underlining error when calling a variable of nested non-existent structure
- Fix diagnostics if a comparison statement contains an unknown variable
- Fix diagnostics if a condition type in the
if
statement is notboolean
- Remove a duplicate of the error message when a tuple expression contains an unknown variable
- Fix diagnostics when a
finalize
block returns a value - Fix an underline of the [ETYC0372003] error when assert_eq() and assert_neq() functions contain arguments of different types
- Fix error message [EPAR0370009] when the assert() function has no argument
- Fix diagnostics if a function argument is a tuple instead of a value
- Fix incorrect diagnostics for group:GEN
- Remove redundant diagnostics when the struct member type is a tuple with nested tuples
- Fix diagnostics when a nested tuple is typed implicitly
- Remove a duplicate of the error message when there are unexpected spaces between a number and the
group
orfield
type - Fix diagnostics when the variable type does not match the return type of the Mapping methods
- Fix diagnostics if an assert function argument type is not boolean
- Implement diagnostics if the negative zero is an unsigned integer
- Fix an underline of the [ETYC0372048] error when a transition function calls another transition function
- Fix missing core functions incorrect diagnostics BHP256::commit_to_group, BHP256::hash_to_group, BHP512::commit_to_group, BHP512::hash_to_group, BHP768::commit_to_group, BHP768::hash_to_group, BHP1024::commit_to_group, BHP1024::hash_to_group, Pedersen64::commit_to_group, Pedersen64::hash_to_group, Pedersen128::commit_to_group, Pedersen128::hash_to_group, Poseidon2::hash_to_group, Poseidon2::hash_to_scalar, Poseidon4::hash_to_group, Poseidon4::hash_to_scalar, Poseidon8::hash_to_group, Poseidon8::hash_to_scalar
- Fix diagnostics if a function type is public or private and enclosed in parentheses
- Fix diagnostics if a return statement in the if-else operator is enclosed in curly braces
- Fix a diagnostic of the error [EPAR0370005] when a program name is entered incorrectly
- Fix a diagnostic of the error [EPAR0370009] when we have a keyword instead of a program identifier
- Fix diagnostics when calling a member of the unknown variable 'group'
- Fix a diagnostics error [EPAR0370005] when there is no dot after the program identifier
- Fix diagnostics when calling an unknown member of the variable type not struct
- Fix diagnostics if an invalid core constant is called
- Fix an underline of the [ETYC0372071] error when a finalize block returns a value
- Fix an underline of error [ETYC0372025] when an unreachable operator is enclosed in curly braces
- Add diagnostics when a "string" type is the type of the second argument of commit(), and commit_to_group() functions for BHP and Pedersen
- Fix diagnostics if the program definition has an unexpected string instead of a curly brace
- Fixed files watcher settings issue
- Implement diagnostics when an identifier is missing from the finalize function
- Implement diagnostics when a standard function definition is missing its identifier
- Implement diagnostics when there is an impossible negative type
- Add missing diagnostic for [ETYC0372060] error
- An error is not diagnosed if there are no semicolons at the end of the expressions
- Implement diagnostics when an unknown variable is a function input
- Implement diagnostics when both commas and semicolons are used to declare record member variables
- Add diagnostics if there is a colon instead the struct member type
- Add missing diagnostic for
"
before}
- Fix incorrect underlining of error [ETYC0372003]
- Fix error message [ETYC0372012]
- Fix diagnostic message when there is an unsigned negative value with spaces
- Fix incorrect shift expression diagnostic
- Remove a duplicate of error message for duplicate variables
- Remove incorrect diagnostic for maximum number of mappings
- Remove diagnostic with required gates in record
- Fix an error underline and an error message if a key type is missing in the mapping statement
- Fix diagnostics if a value type is missing in the mapping statement
- Fix diagnostics if the struct type is not found but the struct member is called
- Fix diagnostics when inputs types of BHP and Pedersen functions are unexpected
- Fix diagnostics when a struct has 'owner' or/and 'gates' variables
- Fix diagnostics if there is an unexpected symbol or keyword instead of a struct or record identifier
- Fix diagnostics when both commas and semicolons are used to declare structure member variables
- Fix diagnostics if there is an unexpected symbol or keyword instead of a struct or record identifier
- Fix diagnostics if there is an unexpected symbol or keyword instead of a mapping identifier
- Remove duplicate error message if a keyword is a structure member identifier
- Fix underline of [ETYC0372031] error if a function has an empty
finalize
block - Remove duplicate of [EPAR0370009] error message if a keyword is a structure identifier
- Implement diagnostics when function and argument of other function have the same name
- Implement diagnostics when a finalize name does not match a function name
- Implement diagnostics when a helper or inline functions have a finalize function
- Implement diagnostics when a function doesn't contain a 'finalize' statement
- Implement diagnostics when transition number exceeds the maximum
- Implement diagnostics if there is an unexpected string in the for statement
- Implement diagnostics when the tuple index is negative value
- Implement diagnostics when the tuple definition statement does not contain tuple members
- Implement diagnostics if a type of the increment/decrement parameters is not an expected
- Implement diagnostics when a finalize block parameter is a constant or private
- Implement diagnostics if there are unicode bidi override code points in the comments of Leo program
- Implement diagnostics when a finalize block takes a tuple as input
- Implement diagnostics when an output from a finalize block is private
- Implement diagnostics when in a for statement there are literals of scalar, group, field, address, or boolean types
- Implement diagnostics when arguments of BHP, Pedersen, and Poseidon static methods are unknown variables
- Implement diagnostics if a colon is missing after the struct member identifier
- Implement diagnostics when a keyword is used as an identifier of mapping, function, struct, transition
- Implement diagnostics if a deprecated increment/decrement function is used
- Implement diagnostics when a function returns a tuple, whose members have a constant mode
- Add diagnostics when there is an invalid core function call in tuple element access syntax
- Implement diagnostics if a colon is missing after the struct member identifier
- Add diagnostic for division not supported for scalar types.
- Add diagnostic for cyclic dependency between structs
- Add diagnostic for
const
word in input files. - Add diagnostic for redundant modes in input files
- Add diagnostic for multiple modes in input files
- Add diagnostic for incorrect section definition in input files
- Add diagnostic for
?
symbol in annotations arguments - Add diagnostics for checking types between values in boolean operations
- Add missing diagnostic for incorrect syntax of access mapping value with
[]
- Implement diagnostics when a record is a mapping's key or value
- Implement diagnostics when inline functions have modes associated with their inputs.
- Implement diagnostics when a member of a structure has a value of type "string"
- Fix diagnostics when the transition parameter type is defined as 'string'
- Implement diagnostics if function type is "string"
- Implement diagnostics if the value mapping type is 'string'
- Add diagnostics when an invalid static methods of the Mapping class are called
- Add diagnostic for hex numbers
- Add diagnostic for
'}
symbol combination - Implement diagnostics if an inputs type of the Mapping functions is not as expected
- Fix error message when a
function
keyword is used as an identifier of mapping, function, struct, inline, or transition - Implement diagnostics if there are increment/decrement statements inside a transition, function, or inline
- Fix diagnostics when a transition parameter has a private mode
- Fix error message [ETYC0372027]
- Remove redundant diagnostics error when there is an annotation @program in a program scope
- Remove the sub() method from autocomplete dropdown for scalar type
- Add diagnostics for all structs from cyclic dependency
- Fix quotes in error message [ETYC0372003]
- Fix diagnostics when there is a subtraction operator in the comparison operator
- Fix diagnostics when a scalar is multiplied by a group in a comparison operator
- Fix quotes in error message [ETYC0372047] and [ETYC0372066]
- Fix diagnostics when a function is called that is defined multiple times with the same name
- Fix quotes in error message [ETYC0372013]
- Fix diagnostics error when a identifier of the transition or function parameter is "const"
- Fix diagnostics if there is a whitespace between the
@
symbol and the annotation identifier - Diagnostics error when a tuple index out of range
- Fix quotes and bool to boolean in the error message [ETYC0372003]
- The Leo Language Server crashes when trying to parse a broken struct/record
- Fix diagnostics if in the program there are symbols that are not used or prohibited in the Leo language
- Missing diagnostics Could not determine the type of
- Remove incorrect diagnostic for arithmetic operations with boolean comparison
- Fix incorrect diagnostic message and underline for incorrect syntax with mut keyword.
- Fix diagnostics if there is no semicolon before or after the return statement
- Fix diagnostics when there are structs/records with the same name
- Remove redundant diagnostics errors when a semicolon is missed after the expression
- Fix diagnostics when a tuple member is called from a variable of another type
- Fix incorrect underline of the error when a struct member type is defined as
string
- Fix diagnostics when a tuple expression contains another tuple expression that is typed implicitly
- Fix incorrect underline of the error [ETYC0372054]
- Fix diagnostics when a structure/record member's type is undefined or incorrect
- Fix diagnostics when a struct member is called from a non-struct
- Remove redundant diagnostic errors when a program contains structures with the same name and different parameters
- Fix a diagnostics of error [ETYC0372042] when a finalize function arguments are undefined
- Fix incorrect the error underlining when a struct initialization expression is missing a member
- Add diagnostics if a nested tuple has several members whose types don`t match the defined
- Diagnostics error when there are white spaces between terms 'minus' and 'field' or 'group'
- Fix diagnostics when the deprecated
async finalize
construct is used in a transition function - Fix diagnostics when arguments of transitions/functions/inlines are unknown variables
- Fix bool to boolean in all error messages [ETYC0372003]
- Fix incorrect underline of the error when a finalize block is empty
- Fix incorrect diagnostic underline for function empty return with record return statement
- Fix incorrect underlining of error when there is an unexpected space between a number and the terms
field
orgroup
- Fix diagnostics when a record variable type does not match the defined one
- Remove duplicate errors [ETYC0372005] when passing an unknown variable to a functions
- Fix diagnostics when a function returns a tuple, whose members have a private mode
- Fix diagnostics when there is an exponentiation expression in the comparison operator
- Fix diagnostics when a function returns a tuple, whose members have a constant mode
- Update diagnostic messages for Pedersen
hash
function - Fix diagnostics if the number of function inputs does not exceed sixteen
- Update diagnostic message when the number of transitions exceeds the maximum
- Fix diagnostic of type of required record field "gate"
- Fix incorrect diagnostic message for
'
symbol - Diagnostics errors when static methods of the Mapping class are used
- Fix diagnostics for mapping type associated methods
- Fix an error code in a statement declaration when the right-hand side is an expression with associated functions
- Implement diagnostics if an invalid type is specified when defining a variable or any structure
- Implement diagnostics if the gates keyword is a struct identifier
- Implement diagnostics when a standard function has a finalize block
- Implement diagnostics when cyclic dependency of helper and inline functions
- Implement diagnostics if a helper function outputs a record
- Add diagnostics for mapping arguments in increment function
- Add diagnostic for use
finalize
afterfunction
- Add diagnostics for struct or record inside record
- Add diagnostic for
self.
with unknown property - Add diagnostic for shadow mapping name by function name
- Diagnostics error if there are several functions with the same name
- Fix quotes and underline coordinates in error message [ETYC0372003]
- Fix incorrect underline in diagnostic of undefined function
- Fix diagnostics when a function parameter type is undefined
- An error is incorrectly highlighted when the structure member type is not found in the current scope
- Fix quotes and bool to boolean in the error message ETYC0372003
- Diagnostic error when the function returns a unit expression
- Fix diagnostics when a tuple expression or tuple type has one element
- Fix quotes in error message ETYC0372013
- Fix incorrect diagnostic underline for expected
,
in arguments - Fix incorrect underline in diagnostic where function must return value
- Fix incorrect underline in diagnostics when type not found in current scope
- Fix incorrect underline in diagnostic for
finalize
expression without finalize block - Fix incorrect underline in diagnostic for
finalize
expression arguments check - Fix incorrect underline in diagnostic when function argument type not found
- Fix incorrect underline in diagnostic when group tuple expression forbidden has white space
- Incorrect underline in diagnostic for unreachable statement
- Add diagnostics for strings in if statement and fix underline for error in definition
- Fix incorrect underline on diagnostic for not found type in statement declaration
- Fix diagnostics when defining a variable of type record if the record variables are defined with mode
- Fix diagnostics when struct members have
private
,public
, orconstant
mode - Fix diagnostics of variable types in inline function
- Extra spaces in error messages [ETYC0372003], [ETYC0372006] and [ETYC0372007]
- Fix diagnostics when a comparison operator contains another comparison operator with a negative variable
- Fix error message [ETYC0372021]
- Fix diagnostics when Pedersen methods contain unsupported types
- Implement diagnostics when cyclic dependency of helper and inline functions
- Fix diagnostics when an application scope contains an unexpected character instead of the keywords "inline", "function", "transition" and so on
- Fixed incorrect parsing structs with an error
- Fixed incorrect autocomplete dropdown if the cursor is positioned to the left of the semicolon
- Fix Leo Language Server errors caused by the rem operator
- Diagnostic errors, if in the process of calculating expressions after the division operation, the intermediate result is less than one
- The autocomplete list should not freeze with the title "Loading..."
- Fix diagnostics if an output from a finalize block is defined as constant
- Fix diagnostics if inputs to a finalize block are defined as constant
- Implement diagnostics if a
finalize
name does not match a transition name - Implement diagnostics if a transition function does not contain a
finalize
statement
- Implement diagnostics when the type of the exponent is not field when exponentiating a variable of type field
- Implement diagnostics when a variable type is not specified after the colon in the condition of the for statement
- Implement diagnostics when a struct has members with 'constant', 'private', or 'public' modes
- Implement diagnostics when tuple type or tuple expression contain another tuple
- Implement diagnostics when cyclic dependency of struct
- Implement diagnostics when a struct member type is a record
- Implement diagnostics when a transition function calls other transition functions
- Implement diagnostics if a colon is missing after the struct member identifier
- Implement diagnostics when integer values are out of range in comparison operations
- Fix diagnostics of conditional OR operator
- Implement diagnostics when the type of the second member of the pow operator does not match the expected types
- Fix the error code when the record is defined with more than one variable with the same name
- Fix the error message when the struct is defined with more than one member with the same name
- Fix diagnostics when a helper function calls itself
- Fix diagnostics of conditional AND operator
- Fix diagnostics when a transition, function, structure, or record does not have an identifier
- Fix autocomplete of Core Unary and Binary methods
- Implement diagnostics when the type of the exponent is not field when exponentiation a variable of type field
- Implement diagnostics when a variable type is not specified after the colon in the condition of the for statement
- Fix autocomplete dropdown in the transition scope so that variables, parameters, assert operators, helper functions, inline functions, etc. are present
- The error is not diagnosed when the variable defined in the condition of the for statement is defined again
- The error is not diagnosed if the types of integer in the functions arguments are not defined explicitly
- Implement diagnostics when transition returns an unknown variable
- Implement diagnostics when there is an unknown variable in the if-else statement condition
- Implement diagnostics when a comment block is not closed
- Implement diagnostics when struct contains a tuple
- Implement diagnostics when a variable name starts with a number
- Implement diagnostics when standard function and variable have the same name
- Implement diagnostics when inputs number does not match number of transition parameters
- Implement diagnostics when instead of a struct parameter we have a keyword
- Implement diagnostics if there is an implicit integer value in the arithmetic expression
- Add diagnostics when the type of inputs does not match type of arguments of transition function
- Implement diagnostics when a standard function has no inputs
- Implement diagnostics when "mapping" contains a types that are not defined in the current scope
- Implement diagnostics when a type of input does not match a type of transition argument, regardless of the input's name
- Implement diagnostics when a struct member is an assignment target
- Implement diagnostics if a mapping key is a tuple
- Implement diagnostics when a function and its argument have the same name
- Implement diagnostics if there is an expression instead of an identifier when defining a variable
- Implement diagnostics when a tuple member is an assignment target
- Implement diagnostics when a function takes a tuple as input
- Implement diagnostics when the type of a number power is not as expected
- Implement diagnostics when integer values are out of range in Leo methods
- Implement diagnostics when a transition return a tuple
- Implement diagnostics when the variable type is defined as a tuple with one member
- Implement diagnostics when there is an expression with data of different types and a variable with a minus sign
- Implement diagnostics if an expression result that contains a Shift statement is out of range
- Implement diagnostics when the tuple member type is not as expected
- Implement types diagnostics for shift left and shift right operators
- Change the word circuit to the word struct in all error messages
- Changed the Record and Struct data type details in the data type autocomplete dropdown
- Remove redundant diagnostic errors when the program ends with an unexpected eof
- Remove redundant diagnostic errors when the program contains non-Latin letters or emoji
- Remove a redundant diagnostic error when at least one member of an expression is out of range
- Add error diagnostics and fix error highlighting when variable type is defined as string, which is not yet supported
- Fix diagnostics when trying to assign a new value to a constant
- Fix diagnostics error code when there is constant parameter in the standard function
- Remove redundant diagnostic error when an unknown variable is used to create a record
- Fix diagnostics when a transition whose type is not defined returns a value
- Diagnostic error when functions return empty braces ()
- Fix diagnostics when the type of the function parameter and the type of the value passed to the function do not match
- Fix diagnostics when transition parameters have a same names
- Fix error code when deprecated data type circuit is defined
- Fix and implement diagnostics when instead of a variable identifier we have a keyword
- Diagnostics error when a transition returns a value in parentheses and also has a type in parentheses
- Fix error code when called function doesn't associate with variable type
- Remove a 'SnarkVM' string from the diagnostics error messages
- Remove duplicates of error messages
- Handling the case of no transition/struct in the cache when diagnosing a transition_declaration/struct_declaration node
- Diagnostic error when the first argument of the BHP commit function is a struct
- Fix diagnostics when the program contains non-Latin letters or emoji
- The Leo Language server crashes if an input type is undefined
- Fix diagnostics when the type of an integer value is defined incorrectly
- Diagnostic error when self.caller is used in a finalize function comparison statement
- Diagnostics error when comparing struct
- Diagnostics error when accessing a variable, if the identifier of this variable is enclosed in quotation marks when defining it
- Fixed: Implement diagnostics when a tuple member is an assignment target
- Fixed diagnostics related to unexpected EOF
- Diagnostic errors when the expression contains a power of a number
- Fix highlighting of the error [ETYC0372003] for unary operators
- Diagnostic errors when variable names match type names
- Fix diagnostics when the transition type is a tuple with a public member but the type of that tuple member is not specified.
- The unary and binary operators should be fully highlighted when error [ETYC0372007] occurs
- Implement diagnostics when an integer value in the Shift statement is out of range
- Diagnostic error when in the Shift Statement a type of a right-hand side does not match a type of a left-hand side
- Fix autocomplete dropdown in the program area for the new Leo syntax
- Fix and add diagnostics when unit expressions are used in expressions of the Leo program
- Fix autocomplete dropdown menu of the data types
- Added finalize definition to autocomplete dropdown in the program area
- Fix diagnostics error when a tuple is assigned to a variable that is not defined as a tuple
- Diagnostics error when you call an inline function
- Fix diagnostics when assignment statement has no expression at the right-hand side
- Fix diagnostics when the type of the first member of the pow statement is a field
-
- [lsp] Fix diagnostics when a record has members with 'constant', 'private', or 'public' modes
- Implement diagnostics when a variable type in for statement condition is a tuple, struct, field, group or scalar
- An error is not diagnosed if the values type in the condition of the for statement are not specified explicitly
- Diagnostics does not define the tuple member type
- Add diagnostics when instead of the program identifier we have a keyword
- Change the word circuit to the word struct in all error messages
- Remove redundant diagnostic error when an extra member is used for initialization of struct
- Fix diagnostic error message when expected tuple length does not match tuple length in tuple definition expression
- Remove redundant diagnostic error when a transition returns a ternary if else statement with types that do not match the transition type
- Diagnostics is not correctly if the left operand in the bitwise shift operator has an unexpected type
- Diagnostics error when the spaces number between the minus sign and an unsigned integer is greater than one
- Diagnostics for console keyword.
- Color for assert, assert_eq, assert_neq functions.
- Implement diagnostics when a loop bound is a variable
- Implement diagnostics when there is an unknown variable in the condition of the for statement
- Implement diagnostics when a variable type in the condition of the for statement is not defined
- Implement diagnostics when there is an unknown annotation
- Implement autocomplete for Leo language
- Implement diagnostics when there are spaces between a minus sign and unsigned integer
- Fix a diagnostics when a struct and function have the same name
- Fix error message when a tuple member type does not match with expected in the definition statement
- Fix diagnostic errors when the identifier of struct parameter is preceded by a special symbol or number
- Implement parser and cache for aleo files
- Added feature to execute certain Leo transition function on the playground
- Implement go to definition for aleo
- Added diagnostics when a return statement is missing from the finalize function
- Implement diagnostics when the finalize block is empty
- Implement diagnostics of unsupported strings
- Implement diagnostics when transition function has a constant inputs
- Implement diagnostics when the finalize statement is not preceded by the async keyword
- Implement diagnostics when the number of finalize arguments is not as expected
- Error is not diagnosed if there are several programs with the same name in a Leo file
- Implement diagnostics of duplicated structs and records
- Implement a diagnostic if there is no colon after the identifier of the variable being defined
- Implement diagnostics when a record member type is a tuple
- Diagnostics for deprecated async finalize.
- Implement hover for aleo.
- Implement diagnostics when a struct or record contains another record
- Implement diagnostics when two record variables with the same names are defined
- Implement diagnostics when a variable name starts with a number
- Implement diagnostics when the type of the transition function parameter is undefined
- Implement diagnostics when the struct parameters values are implicit and undefined
- Implement diagnostics when a struct member has an unknown type
- Implement diagnostics when a struct and a variable inside of transition function have the same name
- Implement diagnostics when there is unknown type in definition
- Diagnostic error if the return statement has no value or invalid string
- The problem with different colors of syntax highlighting
- An error is not diagnosed when the function returns unsupported comparisons ">", "<", ">=", "<=" for address types
- Error message and target node when a function has no return statement
- An errors are not diagnosed when the function returns unsupported comparisons ">", "<", ">=", "<=" for group types
- Diagnostic error when instead of a variable identifier we have a keyword
- Remove invalid diagnostic error "Identifier can not be protected name"
- Fix error message when a standard function has a public argument
- Fix diagnostics message when the number of transition function arguments is not as expected
- Diagnostic error when there is not allowed access to 'self'
- Fix diagnostics if curly bracket of the program scope is missing
- Diagnostic error if string "input" is a variable name
- Fix diagnostics if a transition/finalize/helper functions type is defined as a constant
- Diagnostic error when adding variables of 'group' type
- Diagnostic error when multiplying group and scalar variables
- Fix diagnostics if a transition/finalize/helper functions type is defined as a reserved keyword
- Diagnostic error when logic operation between scalar types
- Diagnostic error when transition/finalize/helper functions return a public value
- Shadowed by diagnostic coordinates and message code
- Diagnostics for invalid assignment target
- Diagnostic error if transition/helper functions have an invalid type
- Fix an error message if the type of record members is not as expected
- Fix diagnostics when transition/helper functions have the same name
- Fix an error message when record initialization is missing member owner or gates
- Fix diagnostic when function argument type is not defined
- Fix diagnostic when there is a space instead of a struct/record field
- Remove the redundant error message when transition/helper functions type is declared as public but the type itself does not exist
- Diagnostic error when defining the tuple type of a transition function/helper function/variable if there is no closing parenthesis
- Fix diagnostic error message when called function not found
- Fix diagnostic when transition/helper functions type is declared as public but the type itself does
- Fix diagnostic when the type of the second transition/helper function argument is not defined
- Fix the error code when the next statement cannot be reached
- Fix the error code when a loop body contains a return statement
- Diagnostic error if the right-hand side of the logical statement is an arithmetic expression or a value with a minus sign
- Diagnostics error when a transition function returns a ternary if-else statement
- Diagnostics error when there is any invalid string with a semicolon at the end
- Diagnostics error when instead of a transition type there is a string with numbers at the beginning or with special characters anywhere
- Fix the error code when there are two program scopes in a Leo file
- Diagnostics error when checking the statement_assign, it is not possible to find transition/helper function that contains it
- Fix error message when an instance of a non-existent struct is defined
- Fix error message when a non-existent struct member is called
- Fix error code when a struct contains a record
- Fix error code when a struct defined with more than one member with the same name
- Fix an issue with determining the type of a tuple member
- Diagnostic error when the transition function does not contain a return statement but returns an empty tuple
- Diagnostics on editor open event
- Diagnostics on change active editor event
- The error is not diagnosed if a variable is used before it is defined
- An implicit type integer is not diagnosed as an error if it is contained in a function's return expression
- An error is not diagnosed if the values type in the condition of the if-else statement are not specified explicitly
- Fix diagnostics when a variable is defined outside a transition function.
- Add diagnostics when the network identifier is not
aleo
- Add diagnostics when there are no curly braces after the network identifier in the application scope definition
- Add diagnostics when a standard function calls another function
- Add diagnostics for the deprecated keyword 'circuit' after transition function
- Fix diagnostics when there are no 'program' or 'import' keywords at the beginning of Leo program
- Fix incorrect error code when there is an implicit integer value
- Add diagnostic for incorrect program scope name
- Add diagnostics for the deprecated keyword 'circuit'
- Fix diagnostic of if-else ternary statement
- Diagnostic error of the decrement() function
- Diagnostic error of field and group type values
- Fix diagnostics of parameters passed to the function
- The parenthesis after the increment() and decrement() function names are purple but should be white
- Diagnostic error when calculating the integer expression
- Diagnostics error when defining the finalize() function
- A valid 'not equal' statement for integers is diagnosed as an error
- Implement a parse of transition function
- The parenthesis after the function name is purple and should be white
- Incorrect definition of data types of parameters in transition
- Coloring to function name in declaration
- Coloring to finalize, increment, decrement function call
- Fix release
- A valid Leo project structure is diagnosed as an error
- Diagnostic when there are two records with same names
- Diagnostic when the specified function type is not found circuit/record
- An error is not diagnosed when a variable of one type is assigned the value of a variable of another type
- Fix diagnostics when the intermediate or final result of an expression is out of range
- Update colors for new tokens in leo files according to AleoNet/ARCs#17
- Diagnostic "failed to create const variable"
- The mismatch between the names of the function parameter and the variable in the input section is not an error
- Diagnostic error when adding scalars
- The color of a variable is displayed incorrectly if the variable name matches the function name
- Diagnostic error when the number of record members does not match the number of record members in the record initialization expression
- Diagnostic error when a circuit member is missing in the circuit initialization expression
- Diagnostic when there are two circuits with same names
- Diagnostic error of scalar type values
- Fix an error diagnostics when the function type is not specified
- Diagnostic error when the number of record members does not match the number of record members in the record initialization expression
- Highlighting of problematic nodes in the method call chain diagnostics
- Fix the error message when an integer type is not explicitly defined
- During diagnostics for called unary and binary operations fixed problematic callee node highlighting
- Fix diagnostics for address comparison operations
- Diagnostic error when the 'if' condition is Self
- Fix error message when type of integer value in ternary expression does not match expected
- Diagnostics for required record attributes
- Hover for record attributes
- Fix diagnostics of negative values of unsigned integer type
- Diagnostics when a deprecated test function is used
- Added yellow color highlight to leo program inside leo files
- Unary operation .sqrt renamed to .square_root
- Diagnostic error if the type is not specified after the colon when defining the variable type
- Diagnostics is incorrect if the code contains an address that does not meet the rules of the Leo grammar
- Add error diagnostics when an invalid character is entered after the operator sign
- Remake import parser for new leo syntax
- Record and circuit names are not highlighted in red if they are defined in the input file
- Fixed diagnostic checking for duplicates in functions
- Incorrect diagnostic for programs without input section
- Fixed incorrect diagnosis of valid arguments of finalize functions
- Fixed diagnostic when loop iterator is visible outside of loop
- Added support for address and string types for binary operations Neq and Eq
- Fixed diagnostics for called unary and binary operations
- The record type should be red
- Address type values should be highlighted in blue in .leo and .in files
- Address type values should be highlighted in blue in .leo and .in files
- The async keyword should be highlighted in red
- The async keyword should be highlighted in red.-
- The address keyword is not highlighted in .aleo files
- Address type values should be highlighted in blue in .leo and .in files
- The import keyword should be highlighted in red
- Implement diagnostics of the finalize function
- Changed theme name from Aleo to Leo
- Incorrect diagnostics of address value
- Unknown variable data type error should only be displayed for the variable, not for the expression
- For unsigned integers, the subtraction operation is diagnosed as an error
- Diagnostic error not found .in file when the program name does not match the folder name
- Error on unknown data type of a call chain or function call should not sound like an unknown variable
- Diagnostic error if a global variable self.caller is used
- Diagnostic error when a function does not return any value
- Changed package name
- Changed register token color from purple to uncolored
- Diagnostic error when a variable is called the deprecated protected names 'as' or 'mut'
- Incorrect color for aleo token with number
- Fixed diagnostic of type mismatch in the expression for defining a variable by a literal value
- Fixed diagnostic of type mismatch in the expression of defining a variable by the value of the result of a function call
- Fixed type mismatch diagnostic in an expression that contains a function call
- On change active editor tab set aleo color scheme
- Diagnostics when defining a variable of type tuple: the circuit type is defined as a tuple
- Added diagnostics of the parameters of methods of Core Binary operations and Algorithms
- Added built-in primitive types as circuits with methods as entities: Address, Boolean, Field, Group, Integer, Scalar, String
- Multiline comments are not highlighted correctly if they are located in area of function arguments
- Fix types and registers highlight in aleo files
- Implement type comparison diagnostics
- Add diagnostics of bit operations
- Added built-in circuits BHP, Pedersen and Poseidon
- Remove redundant user settings
- Syntax highlighting to files with .aleo extension
- Comments are not highlighted correctly if they are located in area of function arguments
- Implement error diagnostics when the input file provides additional inputs that is not expected in the 'main' function
- Incorrect diagnostics if console.assert() function have more than one arguments
- The loop iterator data type must have a declared type (and not just u32)
- Fix diagnostic error 'unknown variable' if variable is defined out of block
- Incorrect diagnostic for records in input files
- Incorrect diagnostic for record property type
- Incorrect diagnostic for record inline definition
- Incorrect diagnostics for duplication variables definitions
- Incorrect diagnostics for missing declaration
- Diagnostic error if assert_eq and assert_neq functions have more than two arguments
- Diagnostic error when the mode of 'main' function parameter is different from the mode declared in the 'main' section of the input file
- The type of the loop conditional expressions must match the type of the iterator
- Fixed CHANGELOG.md format
- Support for import RFC.
- Import of const variables.
- Rename "core" packages to "std".
- Update error messages.
- Add support for array without size.
- Add support for len method for arrays.
- Add support for type alias.
- Add support of stdlib prelude.
- Add support for constant circuit variable.
- Add diagnostic for deprecated 'mut self'.
- Leo RFC 009: Conversions with Bits and Bytes
- Add diagnostic for constant function parameters.
- Fixed Self type definitions diagnostic.
- Fixed diagnostic of importing all dependencies from stdlib.
- Fixed diagnostic of alias type sent as inline circuit parameter.
- Add diagnostic of const main function.
- Fixed diagnostic for missed return for all paths.
- Added diagnostic of non constant expressions in for statement.
- Fixed diagnostic of unnecessary return statements.
- Fixed diagnostic of alias type argument of main function.
- Fixed diagnostic of self parameter in constant methods.
- Fixed diagnostic of nested array access.
- Fixed diagnostic of assignment to const self.
- Added diagnostic for global const duplicates.
- Added diagnostic for duplicates global const and function parameter.
- Fixed diagnostic of char array function parameters.
- Fixed diagnostic of string return type.
- Added diagnostic to detect duplicated input variables in the main and constants sections.
- Fixed diagnostic of unknown type integer multiline array.
- Added diagnostic to detect the presence of "dead code".
- Added diagnostic of range array access when range start bigger then range end.
- Added diagnostic of expression assigned to array item.
- Added diagnostic of the argument type of the console.assert function.
- Add a function check for the mandatory return value and its type, as well as a check for const, constant, public modifiers.
- The number of arguments passed to the function should not exceed eight.
- Implement a diagnostics of @program annotation and diagnostics of parameters in .in file.
- Added a diagnostic message stating that the circuit functions are currently an unstable feature
- Added diagnostic when calling circuit method in the call chain
- Added diagnostic an error if the variable type is not specified
- Add a @program annotation before the main function in all examples
- Update code highlighting according to latest ABNF grammar
- Add diagnostics when the deprecated keyword const is used in input files.
- Update syntax highlighting
- Add Record parser
- Add Record existence diagnostics
- Add search Record
- Add diagnostics of an expression with an access to a variable that is defined in another block
- Duplicated definitions diagnostic.
- The error "failed to resolve function" is not diagnosed if a function import uses an alias.
- The ternary expression template must be without an if.
- Autocomplete does not work in the ternary expression.
- Autocomplete does not work correctly for the array method len().
- Add diagnostics for negative values of the unsigned integers.
- Error 'conflicting imports found' is not diagnosed.
- Go to Definition function should be open a window with a choice between navigating to a circuit property or to a variable.
- Go to Definition function does not work for circuit property and function parameters
- Diagnostics for non-const values of function/method calls.
- Mismatch of the arrays dimensions is not diagnosed as an error.
- Types are not parsed for expressions.
- Incorrect diagnostics of a circuit member when a chain calling of a circuit function.
- Constant values are not diagnosed as constants in function arguments.
- A variable in for loop after .. should be white.
- Show hover over a len() function.
- The mut keyword should be red when hovering over the self keyword.
- The len() function type is not defined correctly for nested array.
- Types of negative values of the circuit parameters are not diagnosed.
- Wrong type parsing for nested array access.
- Incorrect diagnostic of methods parameters in call chain.
- Diagnostic error when main function returns arrays.
- Incorrect hover highlight in linear regression example.
- The circuit member variable is not highlighted.
- Diagnostics error occurs when a function type is changed.
- Diagnostic error when arrays are constant arguments of function.
- Return type is not defined correctly when calling a circuit function or circuit parameter.
- Multiline value of 'string' variable is not highlighted correctly.
- An unresolved circuit reference is not diagnosed.
- The 'mut' keyword is not highlighted.
- Diagnostic error when the argument of circuit function is an array element.
- Tuple index should be blue.
- The "const" keyword should be red.
- The Console Log function is not highlighting in Data Types example.
- Autocomplete not working correctly when dot is entered in string value.
- Fix the len() function autocomplete.
- The type of the tuple elements is not defined correctly.
- Wrong diagnostics of return type of chain call.
- Tuple return type incorrect diagnostic of main function.
- Array elements of type "field" and "group" are not highlighted.
- The type of the array element is not diagnosed.
- Highlighting does not work correctly inside if statements.
- Wrong token coloring for circuit attribute with array type with tuple dimension.
- Incorrect highlighting of the first parameter for Self.
- Unnecessary spaces before the code in the Inputs section.
- Autocomplete does not work for the types of variable.
- The valid code of the access for an array element is diagnosed as an error.
- Wrong coloring of the circuit parameters.
- Variable color in ternary expression is not correctly.
- Fix the color of the char variables to yellow.
- Imports diagnostic is not correctly if there are duplicates of imports.
- The valid code is diagnosed as an error.
- Diagnostics does not work for the operators with a 'field' and an integers variables.
- Autocomplete of the 'const' keyword does not work in the global area of code.
- Diagnostics error when you defines the integer type in the ternary expression.
- Exceeding the maximum value of the integer is not diagnosed.
- Diagnostics error in an expressions with variables of 'group' type.
- Relation operators are not diagnosed correctly for a variables of the 'field' type.
- Autocomplete does not work for the static functions of the circuit.
- The condition type is not diagnosed in the if-else statement.
- Incorrect diagnostics for function with return statements.
- The error "expected const, found non-const value" for a function argument is not diagnosed.
- Diagnostic of already defined definitions.
- Fix incorrect const variables diagnostic.
- Update import path of core packages.
- References to global constants are not diagnosed correctly.
- Diagnostics does not work correctly if the tuple value is an array.
- Result type of the (==) operation is not defined correctly.
- The error is not diagnosed if the type of the function is not defined but it returns an integer type.
- Error 'unexpected type' is not diagnosed for the '+=' operator in the loop 'for'.
- A variable of the "field" type is diagnosed as a variable of the "integer" type.
- The member type of a multidimensional array is not defined correctly.
- Wrong diagnostics if the name of the in. file does not match with the name of the root folder of the project.
- Incorrect array diagnostics.
- Fix crashing server when incorrect circuit syntax.
- Fix not diagnosed unresolved variable reference in expression.
- Fix crashing server when incorrect variable identifier syntax.
- Diagnostic error when chained call a circuit function.
- Diagnostic error on method call on undefined variable.
- Diagnostic error when chained access a circuit attribute.
- Diagnostic error of circuit access modifiers.
- Fix diagnostics for unexpected circuit static constant members type.
- Missing diagnostics for the order of members in circuits.
- Missing diagnostics for duplicated static constant members in circuits.
- Wrong diagnostics for operation expressions using boolean expressions.
- Fix autocomplete for static circuit members.
- Wrong diagnostics when return type value of circuit member function is an array of Self.
- Wrong diagnostics for one-dimensional array tuple syntax.
- Fix completions with whitespaces for static circuit members.
- Diagnostic error when the keyword Self is used as circuit in the main function.
- Fix call chain parsing logic regarding access to array elements.
- An error is not diagnosed when the value of an integer function parameter is out of range of an integer.
- Error is not diagnosed when an integers sum is out of range.
- The duplicate name error is not diagnosed.
- Unresolved variable reference is not diagnosed.
- Crash on load with stdlib.
- Fixed diagnostic error when a function returns a tuple of implicit integers.
- Fixed input diagnostics of arrays with tuple syntax.
- Modify the description of the diagnostic error when argument types don't match the types in the input file
- Fix incorrect code coloring when there are multiple * characters in the code
- Up minimum version of vscode.
- The const keyword in the tooltip should be highlighted in red, when you hover over the 'self'
- Modify a hover of the diagnostic error when input main section not found-
- Modify a hover of the diagnostic error when input tuple size mismatch the expected size
- Modify a hover of the diagnostic error when input array dimension mismatch the expected dimension
- Modify the diagnostic error tooltip if the import failed
- Modify a hover of the diagnostic error when illegal assignment to immutable variable
- Incorrect diagnostics if the main function is missing
- Modify the error tooltip if the circuit member is called as a static constant
- Incorrect diagnostic when trying to modify a global constant
- Add an error code to the error tooltip if the test function input file cannot be found
- Fixed call chain diagnostics after Circuit inline expression and stdlib prelude classes.
- An error is not diagnosed when the integer expression in parentheses is out of range
- Fixed identifier diagnostics in Circuit variable expression.
- The error is not diagnosed if the alias type matches the global constant name
- Add diagnostics for the order between variables and constants in circuits
- The duplicate name error is not diagnosed
- Diagnostic errors of function parameter are duplicated if the function parameter is an array
- An error is not diagnosed if the type of the summand does not match the type of the expected sum
- The error is not diagnosed if the function name matches the global constant name
- A namespace conflict of global constant and circuit is not diagnosed as an error
- Correct the error tooltip if the import file is not found
- Change the error code in the message of the diagnostic error
- Add the error code to the message of the diagnostic error
- An unexpected array operation is not diagnosed if the character array is defined as a string
- Diagnostics error when there is unexpected array operation
- Comparing arrays of different lengths is not diagnosed as an error
- The import keyword is not colored after the comment
- Fixed an issue where an error was not diagnosed when calling a non-existent element of a nested array
- An error is not diagnosed when the integer expression in parentheses is out of range
- Comparing arrays of different lengths is not diagnosed as an error
- Correct the error tooltip and error highlighting if the constants section is not found
- Fixed a diagnose issue when the slice size of the array does not match the expected one
- main function cannot have annotations
- Diagnostic errors if types of integer values are defined implicitly in a tuple of tuples
- Incorrect determination of the length of a tuple when its elements end with a comma
- Fixed issue with diagnosing duplication of function input parameters
- Diagnostic error and incorrect error highlighting if the project code is invalid
- Fixed diagnostics of input file for several sections of the same name "main" and "constants"
- An "unexpected type" error is not diagnosed if you try to add/subtract arrays of different types
- "Unexpected array operation" error is not diagnosed if you try to add/subtract arrays defined as strings
- The error is not diagnosed and colors of circuit name and function name are displayed incorrectly if the circuit name matches the function name
- Fixed an issue when a type of variable is not defined correctly if it is an element of a multidimensional tuple
- Fix diagnostics if the type of the arrays sum result is explicitly defined and errors are not diagnosed
- Fix error messages when the type of the array sum result is defined explicitly
- Fix a variable tooltip if the variable is assigned an expression that has a function and an integer of undefined type
- Fix diagnostics and error messages if the type of the array sum result is defined explicitly and errors are not properly diagnosed
- An error is not diagnosed if a tuple member is assigned a value of another type
- An array element in the input file is not colored if the array consists of one integer
- An error is not diagnosed if a variable is assigned an unexpected array
- Add code to the error message if there are unexpected array operations (+, -, *, / )
- Diagnostic errors if the expression contains arrays of different length and one of the arrays is defined as a string
- An error is not diagnosed if negative index is used when slicing an array
- Diagnostic error when the code contains an expression with a function and an integer of undefined type
- Fix diagnostics when accessing tuple members
- Fix diagnostics when accessing tuple members of an undefined variable
- Fix diagnostics when accessing array members of an undefined variable
- Fix diagnostics when a 'return' command is enclosed in curly brackets
- Diagnostic error if the @test annotation is used with argument
- Fix expressions with () are not diagnosed as an error
- Fix diagnostics error code for "dead code"
- A tooltip of the undefined size array is not displayed correctly
- Expected assignment of return values for expression
- Remove registers section from examples
- Replace dash with underscore in project names
- Removed support for circuit methods
- Fix diagnostic messages when calling circuit member in the call chain
- Specify the integer type explicitly in all examples
- Fix diagnostic issue of immutability of the value of a variable
- Error is not diagnosed if the integer type is not specified explicitly
- Fix some diagnostic methods using deprecated keyword_or_identifier node
- Fix diagnostics when variable type does not match value type
- Fix circuit existence diagnostics
- Diagnostic error when defining a variable of scalar type
- Console functions should be colored purple
- Non-existing functions console.error and console.log should not be colored
- Fix error message when console.assert() function argument has wrong type
- The error is not diagnosed when the assert_eq and assert_neq functions have only one argument
- Fix diagnostics logic and messages for "dead code"
- The error is not diagnosed if the arguments of the assert_eq or assert_neq functions are of different types
- Diagnostic error if the assert, assert_eq, and assert_neq functions have no arguments
- Fix error diagnosis if the main function has no return operator
- Fix variable existence diagnostics error message
- Rewrite ErrorDiagnostic class
- Fix diagnostic errors when an expression does not have the expected assignment of return values
- Input diagnostics of constants parameters
- Parse and diagnostic of math operations
- Boolean compare diagnostics
- Crash on group value validation
- Crash on return type scope parse
- Incorrect coloring of the values of group in the .leo and .in files
- Message of the input diagnostic is not correct
- An error of array definition is not diagnosed
- The expression type is not shown immediately after loading the project
- Wrong coloring of circuit type
- Incorrect highlight range for parameter input error
- A package import error is not diagnosed if the folder or file name contains an uppercase letter.
- Defining the Self data type in a circuit member function signature.
- Show hovers over console functions.
- Self and self keywords diagnosed as an error if they used in global functions.
- Show hovers over identifier which follows after access array.
- Array index out of bounds diagnostic.
- Show hovers over identifier which follows after an access tuple and over an access tuple itself.
- Fixed diagnostic of items types in implicit inline array.
- Add annotation to Hover info over function identifier
- Completion for inputs
- Hover highlighting
- Show Definitions of a Symbol.
- A duplicate of the test function is not diagnosed as an error.
- Error of diagnostics of the code with an emoji characters
- Bugs url in market.
- Aleo theme.
- Update parser to leo 1.5.2
- Aleo theme
- Extension name
- Show hover over identifier of variables in constant_declaration.
- Display the path that corresponds to the node in import_declaration.
- Parentheses to methods/functions completion result.
- Hover for core.unstable.blake2s circuits.
- The const keyword of param to Hover info hover over function/method name identifier.
- Add mut/const keywords to Hover info when hovering over self keyword depending on mut/const self keyword in function_parameters.
- Show hovers over circuit variables.
- Show hover over identifier in statement_for.
- Show hover over identifier in keyword_or_identifier.
- Show hover over identifier in identifier_assignee
- Show hover over identifier in expression.
- Show hover over identifier of variables in statement declaration.
- Reduce iteration by hidden value node.
- Add imports and variables to the autocomplete list if a code is being entered in the middle of a line.
- Add autocomplete inside statement definitions.
- Show hover over identifier of circuit_variable_expression in expression_circuit_inline.
- Show hover over identifier of variable_declaration in circuit_declaration.
- Add mut/const keywords to Hover info when hovering over self keyword in function_parameters.
- Show hover over identifier in function_parameters.
- Show hover over method name identifier in circuit file definition.
- Show hover over function name identifier in file definition.
- The return type of circuit function is not defined.
- Incorrect definition of char array should be diagnosed and highlighted as an error.
- Function duplication is not highlighted as an error.
- The error "failed to resolve variable reference" is not diagnosed.
- Wait for WASM to finish loading.
- Fix error with replace of node in cache definitions.
- The absence of assignment of return values for expression is not diagnosed.
- Incorrect diagnostics of the if-else(ternary) expression.
- Fixed variable diagnostic when it is used as self array access index.
- The reference to the variable "self" in a static function is not diagnosed as an error.
- Incorrect diagnostics of creating a circuit through Self.
- Update to leo 1.5.0.
- Reduce iteration by hidden value node.
- Update diagnostics for array expressions after 1.4.0 update.
- Update diagnostics for annotations after update to 1.4.0.
- Update diagnostics for address value after 1.4.0 update.
- Update Aleo Theme-color-theme
- Show hover over function identifier in import definition.
- Show hover over self keyword in circuit member function.
- Show hover over type Self in circuit definition.
- Show hover over circuit identifier in circuit inline expression.
- Show hover over circuit identifier in variable definition.
- Show hover over type_circuit identifier in circuit_variable_definition.
- Show hover over type_circuit identifier in type array/tuple.
- The circuit function does not appear in the autocomplete list immediately.
- Show hover over circuit name identifier in file definition.
- Hover service: added case for a multi-line comment.
- Show hover over circuit identifier in import definition.
- Fixed arrays and tuples diagnostic.
- Show hovers over circuit variables.
- Show hovers over methods/functions.
- Add diagnostics and correct autocomplete for the deprecated 'let mut' keyword.
- Diagnostics of the code in which the integer type is not explicitly specified.
- Add diagnostic of statement definition type.
- Add assigned expression type diagnostic.
- Add integers without explicit type diagnostic.
- Add diagnostic/types of nested tuples.
- Add diagnostic of arrays with tuple syntax.
- Show hovers over methods/functions.
- Add diagnostic for operations with different types.
- Parse expression types.
- Expressions diagnostic.
- Parse tuples.
- Tuples types and diagnostic.
- Parse array type with tuple syntax.
- The Leo Language Server crashed language.
- Diagnostics of field data type.
- Implement filed diagnostics.
- Autocomplete error while typing @test annotation.
- Diagnostics of group data type.
- Add diagnostic of method calls without parentheses.
- Parse array types.
- Array data type parsing.
- Added diagnostics for address type.
- Add annotations and test function diagnostics.
- Added detailed diagnostics for integers and main diagnostics for other types.
- Check called function parameters number and types.
- Add array types diagnostic.
- Added diagnostics of mismatch between the number of expected and passed variables.
- Add diagnostic for duplicate variables.
- Add debounce for diagnostics and colorize requests.
- Added diagnostic of static/non static methods access.
- Parse imported functions/circuit methods return type.
- Remove "static" from protected list.
- Preselect major CompletionItems.
- Add Self circuit inline expression diagnostic.
- Add completions to circuit inline attributes for circuit inline initializer.
- Apply theme coloring.
- Add coloring to imported circuits/functions.
- Add command to receive plugin version and latest commit hash.
- Add support of import completion to multiple import syntax.
- Show core packages in import completions by default.
- Create import completion scope.
- Omit - from import completions after name of package if there no lib.leo file.
- Omit from import completion list current file.
- Add core blake2s package to import diagnostics and completions.
- Autocomplete imports.
- Completion item sort.
- Add completion scopes.
- Add @context parser and diagnostics.
- Check variable exists in scope. Check mutable variables. Check circuit variables and their members access.
- Colorize call of circuit method.
- Colorize function name in import.
- Colorize function name and circuit method name.
- Add circuit name colorize to imports.
- Colorize knows circuits names.
- Analyze variables.
- Diagnostic circuit inline initializer - checking the existence of circuit members.
- Add Aleo theme.
- Completion of functions/methods arguments.
- Check if called function exist.
- Added coloring for function alias in multiple import and for "as" keyword.
- Implement identifier diagnostic.
- Added diagnostics for positive numbers in array_dimensions.
- Incorrect diagnostics of multidimensional arrays.
- Fix the diagnostics of the number of function arguments.
- Incorrect diagnostics of multidimensional arrays.
- Fixed diagnostic of arrays inside Circuit statement definitions arguments.
- Fixed diagnostic of arrays inside function arguments.
- Invalid code is not diagnosed.
- The "missing return" error is not diagnosed and highlighted.
- Wrong diagnostic for array value arithmetic operations.
- Wrong diagnostics for nested circuits attributes.
- Wrong diagnostic for circuit name inside function.
- Wrong diagnostics of nested loop variables.
- Wrong diagnostics for parameters of mutable variable.
- Wrong diagnostics for variable defined with let keyword.
- Error on group assign expression to number.
- Error in circuit inline initialization with attribute identifier.
- Diagnostic of undefined function calls do not show correct error without parentheses.
- Fixed function arguments types diagnostic.
- Fixed diagnostic of incorrect static access syntax.
- Several identical suggestions appear in the autocomplete list when the import line is duplicated several times.
- Error highlighting remains after an error fixing.
- Fixed bugs with incorrect diagnostic of code that not parsed correctly.
- Exception on checking circuit existence in case of brackets not closed: Foo::new(
- Fixed bug with no errors when Self static access is incorrect, e.g.: Self:new();
- Fixed bug with range creating with negative number in position.
- Fixed Self static methods access.
- Fix a bug with "local folder" imports autocompletion.
- Fix completions for static methods.
- The word "static" should be highlighted as an error.
- Fix bug with static circuit member access autocomplete
- Fix bug with circuit members access autocomplete.
- Fixed Self circuit definition attributes coloring.
- Fix annotation diagnostics.
- Fixed issues with test functions calls. (Wrong diagnostic for test functions called inside test functions).
- Fix completion for circuits on definition statement.
- Wrong diagnostic for test functions called inside test functions.
- Nested project folders not parsed/diagnostic/completion.
- Completion of attributes and methods not working for uncompleted expression with expression on next line.
- Fix issues with loop index variable diagnostic.
- Fix colorize Foo::.
- FunctionParser.getFunctionAst fix throw exception.
- Colorize: issue in call of circuit method.
- Fix textmate rule for static methods.
- Colorize call of function.
- Fix colorize known circuit names.
- Fix import textmate rules.
- Fixed coloring for multiple import path when the name of import file includes a dash.
- Fixed circuit_name rule.
- Fix parsing functions statement definitions on errors.
- Wrong verification if there is no a ";" after a console function.
- Update to leo 1.4.0.
- Add support for new leo grammar 1.2.3.
- Update to leo ast 1.2.2
- Update to tree-sitter 1.0.8
- Update Aleo Theme-color-theme
- Update to leo compiler 1.0.7
- Remove icon theme
- Update to leo parser to 1.0.4
- Mutable to attributes.
- Package name diagnostics.
- Console functions diagnostics.
- Annotation diagnostics.
- Context to completion snippets.
- Circuit existence diagnostic.
- Parse workspace on IDE open event.
- Parser circuits and calls for new tree.
- Completion of self.
- self.x parsing.
- Functions parsing.
- Bug with imported circuits diagnostic.
- Import alias duplication in autocomplete.
- Imported files path on mac os.
- File - directory check in imports.
- Incorrect import parsing.
- Imports parser according to correct project structure.
- Imports parser.
- Fixed definition type data receiving.
- Fixed Completion service.
- Diagnostics for existing circuit.
- Diagnostics for not existing method.
- Diagnostics of empty address.
- Address value validation.
- Bug with numbers in circuit names.
- Update autocomplete logic.
- Update tree sitter to leo.pest v1.0.3
- Update imports parser and autocompletion.
- Diagnostics for pascal and snake case names.
- Functions / circuits documentation in autocomplete.
- Keyword completion.
- Basic statement definition completion.
- Static methods call in expressions/variable declarations/return statements.
- Issue with circuits methods duplication with aliases.
- Issue with autocomplete of second variable in expression (point.x + point.y).
- Issues with imports logic.
- Regexp for PascalCase.
- Circuits names to autocomplete.
- Import aliases to autocomplete.
- Completions for predefined functions.
- Imports parsing. Autocomplete functions/circuits from imported file.
- Autocomplete for statements return.
- Duplicated autocomplete from imported packages.