Omni completion for items without documentation
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 68/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Estancado
- Stack tecnológico
- vim
- Área
- tooling
Línea de trabajo
Empieza en autoload/rescript.vim alrededor de la línea 369 y compila el proyecto antes de reproducir en Vim o Neovim el caso de completado del issue. Comprueba el tratamiento de item.documentation cuando es null, teniendo como contexto la corrección de la discrepancia del completado en #56. Se considera terminado cuando los elementos locales integrados y sin documentación se completan sin los errores indicados.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Under the hood, rescript-editor-analysis.exe returns null instead of an object/dict when a completion item has no documentation. This results in multiple errors in rescript#Complete.
A minimal example with vim-plug and the latest versions of vim-rescript and rescript (tested in VIM 8.2 and in Neovim 0.6.1):
~/.vimrc or ~/.config/nvim/init.vim:
call plug#begin()
Plug 'rescript-lang/vim-rescript'
call plug#end()
set omnifunc=rescript#Complete
set completeopt+=preview
Example.res:
let myInteger = 1
let myString = "2"
Also needed:
- complete/completion mismatch fix: #56
Make sure the project is built. Type let my as the last line of Example.res and hit <C-x><C-o> in insert mode. You'll get the following errors twice:
Error detected while processing function rescript#Complete:
line 36:
E121: Undefined variable: value
Press ENTER or type command to continue
Error detected while processing function rescript#Complete:
line 38:
E121: Undefined variable: entry
Press ENTER or type command to continue
Error detected while processing function rescript#Complete:
line 38:
E116: Invalid arguments for function add(l:ret, entry)
Press ENTER or type command to continue
After hitting ENTER enough times:
-- Omni completion (^O^N^P) Pattern not found
I think the problem lies here:
item.documentation is null for undocumented matches.
I tried to replace the offending line with the following, and now omni completion works both for built-in items and for undocumented local items (but I'm no expert in vimscript, so this may be a silly way to do it):
if type(item.documentation) == v:t_dict
let l:info = item.documentation.value
else
let l:info = item.detail " or some default value
endif
let entry = { 'word': item.label, 'kind': l:kind, 'info': l:info }
- Lenguaje dominante
- Vim Script
- Estrellas
- 164
- Forks
- 17
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de rescript-lang/vim-rescript
-
Add errorformat Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
rescript-lang/vim-rescript#74 · 1 comentario ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
rescript-lang/vim-rescript#67 · 1 comentario ·
-
Create interface files Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 30/100
rescript-lang/vim-rescript#66 · 1 comentario ·
-
Incorrect resource paths Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 55/100
-
Omni completion duplicate prefix Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
Todos los issues de rescript-lang/vim-rescript
Issues similares
-
스택 PR 머지 시 하위 PR base 재지정 단계 부재 Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
idean3885/claude-ops-agent#521 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
0xMiden/bridge-portal#132 ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
newrelic-experimental/preflight#793 · 1 comentario ·
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
babalae/bettergi-scripts-list#3674 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
caddyserver/caddy#8046 ·