Finch/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Nexoniarz 636eaefe59 finch lsp: the language server, written in Finch
Hover, go to definition, completion (after a dot too: fields, methods, a module's names, an enum's variants,
array/text/map methods), signature help, the outline and errors while typing -- everything the C++ one did,
and the same tests/lsp_test.py passes against it.

It doesn't type-check by itself: for every change it runs  finch index  on the editor's text (--overlay says
which file the text stands in for) and reads what the compiler learned about every name, which is also what
the compiler's own error messages are made of. Half-typed code keeps using the last version that compiled.
src/docs.fch is the one description of the built-ins that hover and completion share.

tests/run.sh runs the LSP test too. 107 passed.
2026-10-25 21:48:11 +01:00
..
ast.fch finch lsp: the language server, written in Finch 2026-10-25 21:48:11 +01:00
cimport.fch The compiler is written in Finch, and nothing else: src/*.fch, built from a seed 2026-10-25 21:42:17 +01:00
docs.fch finch lsp: the language server, written in Finch 2026-10-25 21:48:11 +01:00
gen.fch finch lsp: the language server, written in Finch 2026-10-25 21:48:11 +01:00
lexer.fch The compiler is written in Finch, and nothing else: src/*.fch, built from a seed 2026-10-25 21:42:17 +01:00
linker.fch The compiler is written in Finch, and nothing else: src/*.fch, built from a seed 2026-10-25 21:42:17 +01:00
lsp.fch finch lsp: the language server, written in Finch 2026-10-25 21:48:11 +01:00
main.fch finch lsp: the language server, written in Finch 2026-10-25 21:48:11 +01:00
parser.fch finch lsp: the language server, written in Finch 2026-10-25 21:48:11 +01:00
platform.fch The compiler is written in Finch, and nothing else: src/*.fch, built from a seed 2026-10-25 21:42:17 +01:00