Esto evita que las acciones de código funcionen en editores que esperan que el número de versión devuelto sea> = de lo que se envió al LS.
tsserver
devuelve la misma versión y las acciones de código funcionan bien.
https://github.com/neovim/neovim/blob/c1fbc2ddf15b2f44b615f90b2511349ab974cb83/runtime/lua/vim/lsp/util.lua#L265 -L272
Aquí está el código de neovim-lsp
que verifica el número de versión.
Editaré más información cuando encuentre las diferencias entre svelteserver
y tsserver
respecto al envío del número de versión.
Editar : por ahora estos no funcionan:
Code Actions:
1. (svelte) Disable missing-declaration for this line
2. Import 'teenStyle' from module "./helpers"
Probablemente esta línea necesita obtener la versión correcta https://github.com/sveltejs/language-tools/blob/eac5c7478aebe949bb4337126f38a45b46be8c10/packages/language-server/src/plugins/typescript/features/CodeActions146vider.ts#
Para los archivos Svelte, esto debería ser factible, para los archivos TS / JS, sin embargo, deberíamos dejarlo como actualmente porque simplemente no sabemos en qué configurarlo ya que no obtenemos las versiones actuales del documento de esos.
Para los archivos Svelte, esto debería ser factible, para los archivos TS / JS, sin embargo, deberíamos dejarlo como actualmente porque simplemente no sabemos en qué configurarlo ya que no obtenemos las versiones actuales del documento de esos.
¿Te refieres a la situación en la que necesitamos aplicar cambios a archivos js / ts externos debido a la acción del código en el componente esbelto?
No puedo pensar en un ejemplo en este momento. :pensando:
Es interesante, no he probado qué pasaría si uso el cambio de nombre en el archivo .ts
. ¿Ese cambio se reflejaría en componentes esbeltos ...: pensando:
Brb. :sonrisa:
Vaya ... no lo hará. Entonces, ¿parece que el servidor de idioma esbelto también debería configurarse para archivos .ts|.js
en proyectos esbeltos?
No es así y hacer esto posible se rastrea en # 580
Los cambios de nombre en los archivos Svelte que afectan a los archivos JS son un ejemplo de dónde el servidor de idiomas devuelve ediciones para archivos JS / TS.
Para los archivos Svelte, esto debería ser factible, para los archivos TS / JS, sin embargo, deberíamos dejarlo como actualmente porque simplemente no sabemos en qué configurarlo ya que no obtenemos las versiones actuales del documento de esos.
En la especificación, el textDocument
del TextDocumentEdit
es un OptionalVersionedTextDocumentIdentifier
, por lo que la versión puede ser null
, y debería ser null
lugar de 0 si el servidor no puede proporcionar el número de versión correcto.