Megjelent a 0.1.0 verziója a platformfüggetlen interaktív parancssornak és a F# stílusú funkcionális nyelv interpreterének. Endo.
A projektet a terminálemulátor szerzője és fő fejlesztője hozta létre. Contour C++ nyelven (C++23 szabvány) készült, és az Apache 2.0 licenc alatt terjesztik.
Ebben a kiadásban:
- Nyelv
- a let használata esetén alapértelmezés szerint változatlanok, és a let mut használatakor változtathatók;
- típusok kimenete (Hindley-Milner) — a típusok ellenőrizve vannak, de ritkán szükséges őket kifejezetten megadni;
- minták egyeztetése feltételekkel, destrukturálás és "vagy" minták;
- diszkretizált uniók, rekordok és beépített Option/Result típusok;
- currying, részleges alkalmazás és függvénykompozíció (>>, <<);
- lambda-kifejezések helykitöltő szintaxissal (_ + 1, _.field);
- lista struktúrák tartományokkal és szűrőkkel;
- "lusta" számítások és sorozatok;
- farokrekurzió optimalizálása;
- modulok és importálás.
- Fejlesztési eszközök
- Language Server Protocol — teljes funkcionalitású LSP szerver ($ endo —lsp) diagnosztikával, automatikus kiegészítéssel, lebegő javaslatokkal, definíciókra ugrással, hivatkozáskereséssel, átnevezéssel, formázással, szemantikai tokenekkel, kódkészletekkel és még sok mással;
- Debug Adapter Protocol — teljes funkcionalitású DAP szerver ($ endo —dap) töréspontok, lépésről lépésre végrehajtás, változók megtekintése, kifejezések számítása és disassembly támogatásával;
- kiterjesztés a VS Code-hoz — szintaxis kiemelés, LSP/DAP integráció, kódrészletek és debuggálás további beállítás nélkül.
- Shell
- parancsok végrehajtása Bash kompatibilitással: átirányítás, minták, && / ||, feladatkezelés;
- strukturált beépített parancsok — ls, ps, jobs, git log, git status, docker ps — típussal ellátott rekordokkal térnek vissza;
- dupla csatornák: |> függvények kompozíciójához, | folyamatokhoz;
- változók/parancsok/folyamatok behelyettesítése, kapcsos zárójelek és hullámost írás.
- több mint 110 beépített parancs és nyelvi funkció;
- .endo scriptek végrehajtása modul engedélyezéssel.
- "AI" ügynök mód
- beépített "AI" segítség, amely a # üres bemeneti mezőben elérhető;
- támogatott online szolgáltatók: Claude, OpenAI, OpenAI-kompatibilis (Ollama, vLLM, LM Studio) és Gemini;
- helyi modellek támogatása GGUF formátumban készített projektben. llama.cpp;
- 18 beépített eszköz a fájlokkal való munkához, githez, parancsok végrehajtásához és webes források eléréséhez;
- válaszok streamelése Markdown formátumban.
Forrás: linux.org.ru
