six rules to transform it back into valid JSON.

now we can use all existing facilities of sxpp to exchange JSON-RPC messages.

#devlog #sxpp #lsp

with just four rewrite rules, the entire parsed json tree looks s-expression friendly.

#devlog #sxpp #lsp

and with this, all JSON related parsing and projection issues have been addressed.

#devlog #sxpp #lsp

because %g and :g *may* print floats without fractional part as integers (but sometimes use scientific notation), i use the storageless version of the NumberParser to see if the result would parse as a float or not; if it doesn't (so parses as int), '.0' is appended.

#devlog #sxpp #lsp

(1) first, a test JSON file to see how close we are to compliance already.

(2) the output of `sxpp acid.json` looks pretty good. seems we can fix the few missing bits:

* , and : are not stripped. we can skip-parse those quickly afterwards when searching lists, suitable for JSON-RPC specifically.

* , should be rendered as , not \,

* -1.2E+10 doesn't parse yet

* `\uXXXX` is not supported yet - we can do a to/from UTF-8 translation.

* `:test` should tokenize as `: test`

#devlog #sxpp #lsp

> it’s the industry standard for C++ JSON.

> json.hpp is the single required file

over 25k loc. what the hell.

think i'll just repurpose sxpp itself for JSON parsing. so this is step 1: parse JSON.

#devlog #sxpp #lsp

tsz: a performance-first TypeScript checker
tsz는 Rust로 작성된 고성능 TypeScript 검사기 및 언어 서비스로, 기존 tsgo보다 빠른 속도를 목표로 합니다. 엄격한 타입 검사를 위한 Sound Mode를 지원하며, TypeScript 6.0.3을 대상으로 높은 호환성을 보이고 있습니다. 현재 최종 컴파일러 단계에 있으며, WebAssembly 기반 LSP 지원과 성능 최적화 작업이 진행 중입니다. tsz는 TypeScript 테스트 스위트를 통과하여 tsc의 대체제로서 기능을 입증했습니다.

https://tsz.dev/

#typescript #rust #performance #languageservice #lsp

tsz - A TypeScript compiler in Rust.

A TypeScript compiler in Rust.

tsz
Hola hoy subi un video en el canal de espaniol sobre la nueva version de neovim y su nueva forma de configurarlo https://video.hardlimit.com/w/vEnfpncRgLpfHUb7fRXYbh?start=0s
#neovim #nvim #vim #lsp #lazyvim
De neovim v0.10 a neovim v0.12

PeerTube

1/N: Okay, I'm going to need some help with this from some #Neovim and #LSP fans/experts.

The Typescript LSP server behaves differently between the CoC and Mason plugin frameworks. I have the colorscheme set up such that hovered symbols highlight in green for read refs, and red for write refs. This work in Coc, but not in Mason. Indeed, with verbose logging, the LSP seems to be returning different data for the symbol's "kind" -- a string under Coc, but an integer under Mason.