mirror of
https://github.com/Nexoniarz/Finch.git
synced 2026-11-03 08:54:25 +00:00
Finch 2.4.0: methods, maps, errors as values; str() of any value; macOS and ARM64 docs; Kate support
- fn Struct.method(...) with self by reference, also on C structs
- map[K]V: insertion-ordered hash maps, literals, m[k] += 1, has/get/remove/keys/values
- -> T! / -> !, return error(...), or <value>, or { err }, try; fallible int/float/read_file/write_file/delete_file
- for i, x in list / for k, v in map
- print and str() share one text formatter
- LSP: method and map completion, method signatures; grammar and snippets for VS Code and Kate
- tests: 74 (methods, errors, maps + 11 failure cases); docs at all three levels, en and pl
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
fd86eb885c
commit
b872be3176
55 changed files with 3400 additions and 336 deletions
|
|
@ -5,7 +5,7 @@
|
|||
Install: copy to ~/.local/share/org.kde.syntax-highlighting/syntax/finch.xml
|
||||
(or run editors/kate/install.sh), then restart Kate.
|
||||
-->
|
||||
<language name="Finch" version="1" kateversion="5.0" section="Sources" extensions="*.fch"
|
||||
<language name="Finch" version="2" kateversion="5.0" section="Sources" extensions="*.fch"
|
||||
mimetype="text/x-finch" indenter="cstyle" author="The Finch authors" license="Apache-2.0">
|
||||
<highlighting>
|
||||
<list name="keywords">
|
||||
|
|
@ -22,6 +22,8 @@
|
|||
<item>continue</item>
|
||||
<item>return</item>
|
||||
<item>defer</item>
|
||||
<item>or</item>
|
||||
<item>try</item>
|
||||
</list>
|
||||
<list name="imports">
|
||||
<item>import</item>
|
||||
|
|
@ -31,6 +33,7 @@
|
|||
<item>true</item>
|
||||
<item>false</item>
|
||||
<item>null</item>
|
||||
<item>self</item>
|
||||
</list>
|
||||
<list name="types">
|
||||
<item>int</item>
|
||||
|
|
@ -39,6 +42,7 @@
|
|||
<item>char</item>
|
||||
<item>str</item>
|
||||
<item>ptr</item>
|
||||
<item>map</item>
|
||||
<item>i8</item>
|
||||
<item>i16</item>
|
||||
<item>i32</item>
|
||||
|
|
@ -62,6 +66,7 @@
|
|||
<item>addr</item>
|
||||
<item>new</item>
|
||||
<item>free</item>
|
||||
<item>error</item>
|
||||
</list>
|
||||
|
||||
<contexts>
|
||||
|
|
@ -99,8 +104,11 @@
|
|||
<AnyChar String="()[],.:" attribute="Symbol"/>
|
||||
</context>
|
||||
|
||||
<!-- fn name( or fn Type.method( -->
|
||||
<context name="FunctionName" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop">
|
||||
<DetectSpaces/>
|
||||
<RegExpr String="[A-Za-z_][A-Za-z0-9_]*(?=\.)" attribute="Data Type"/>
|
||||
<DetectChar char="." attribute="Symbol"/>
|
||||
<RegExpr String="[A-Za-z_][A-Za-z0-9_]*" attribute="Function Definition" context="#pop"/>
|
||||
</context>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue