Comments (5)
Might be worth creating an issue in friendly-snippet
, so they can add a proper snippet for the else
statement.
I'll mention this in the "advance usage" page, how to change the snippet collection.
By the way, you don't have to configure sumneko_lua
if you use lsp.nvim_workspace()
. You can modify the library argument like this.
lsp.nvim_workspace({
library = vim.api.nvim_get_runtime_file('', true)
})
from lsp-zero.nvim.
Here is the friendly snippet for it: https://github.com/rafamadriz/friendly-snippets/blob/main/snippets/ruby.json#L84-L93
"if else": {
"prefix": "if else",
"body": [
"if ${1:test}",
"\t$0",
"else",
"\t",
"end"
]
},
The prefix
gets translated to trig
: https://github.com/L3MON4D3/LuaSnip/blob/09ce9a70bd787d4ce188f2de1390f656f119347c/lua/luasnip/loaders/from_vscode.lua#L35-L52
I haven't been able to trace where trig
gets used when deciding if something is expandable yet.
from lsp-zero.nvim.
The first item in the completion list is always preselected, that's why pressing Enter
confirms the snippet. If you want to disable this behaviour add this in your nvim-cmp
config.
preselect = 'none',
completion = {
completeopt = 'menu,menuone,noinsert,noselect'
},
from lsp-zero.nvim.
I think my issue is more that else
is completing to a snippet named 'if else'. Did some looking around, and it seems that other snippet plugins don't use that convention. Compare to vim-snippets which is a snipmate-style, which uses ife
for if else:
Given that, I think it's an issue with luasnip's matching, or friendly-snippets 'if else' prefix.
For anyone curious how to switch to this:
-- in `packer` block
-- lsp, linters, formatters, etc
use({
"VonHeikemen/lsp-zero.nvim",
requires = {
-- LSP Support
{ "neovim/nvim-lspconfig" },
{ "williamboman/mason.nvim" },
{ "williamboman/mason-lspconfig.nvim" },
-- Autocompletion
{ "hrsh7th/nvim-cmp" },
{ "hrsh7th/cmp-buffer" },
{ "hrsh7th/cmp-path" },
{ "saadparwaiz1/cmp_luasnip" },
{ "hrsh7th/cmp-nvim-lsp" },
{ "hrsh7th/cmp-nvim-lua" },
-- Snippets
{ "L3MON4D3/LuaSnip" },
-- instead of { "rafamadriz/friendly-snippets" },
{"honza/vim-snippets"},
},
})
-- where lsp-zero is configured:
require("luasnip.loaders.from_snipmate").lazy_load()
from lsp-zero.nvim.
I filed it over at rafamadriz/friendly-snippets#209 so can close this now.
Thank @VonHeikemen for the tip re nvim workspace!
from lsp-zero.nvim.
Related Issues (20)
- How to integrate conform.nvim with lsp-zero.nvim HOT 2
- Need help to load friendly-snippets HOT 1
- lsp_zero.cmp_format() hides important information for rust_analyzer HOT 2
- error installing gopls(same thing happend with hls) HOT 2
- error installing hls(haskell server) HOT 1
- Allow setting max width on vim.diagnostics
- Add docs or possible fix for Volar 2? HOT 4
- method textDocument/definition is not supported by any of the servers registered for the current buffer HOT 6
- Hi @VonHeikemen, came here after an year coz it was unmaintained, i grew up a lot in this time period, help me get back to `lsp-zero` HOT 3
- Undercurls to display errors HOT 2
- How do I turn off inlay hints? HOT 2
- Cannot get auto complete to work HOT 5
- How to configure efm? HOT 1
- Duplicate prefixes HOT 1
- lsp-zero conflict with noice shipped in LazyVim HOT 2
- Function signature helper HOT 1
- lsp server seem to be configured before .extend_lspconfig() HOT 4
- Question: Doc site HOT 2
- Error: failed to run 'config' for nvim-lspconfig HOT 3
- default keymaps not working correctly HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lsp-zero.nvim.