lazyvim / lazyvim.github.io Goto Github PK
View Code? Open in Web Editor NEWLazyVim Website
LazyVim Website
As a beginner, LazyVim has greatly improved my experience with Neovim. The default <leader>
key in LazyVim is <Space>
, rather than the backslash \
mentioned in :h mapleader
. I found this out by searching through the repository.
Although this may be common knowledge for some users, I believe it would be helpful to include a small tip in the keymaps page for some new users.
LSP configurations are usually given in json format (a format compatible with vscode)
{
"texlab.rootDirectory": null,
"texlab.build.executable": "tectonic",
"texlab.build.args": ["-X", "compile", "%f"],
"texlab.forwardSearch.executable": "/Applications/Skim.app/Contents/SharedSupport/displayline",
"texlab.forwardSearch.args": ["-g", "%l", "%p", "%f"]
}
For Lua/Neovim novices (of whom I am one), converting from JSON to Lua is not always straightforward. For the above code, the version for lazy.nvim would be...
return {
"neovim/nvim-lspconfig",
opts = {
-- LSP Server Settings
---@type lspconfig.options
servers = {
texlab = { -- LSP server name
settings = {
texlab = { -- again LSP server name !
rootDirectory = nil,
build = {
executable = "tectonic",
args = { "-X", "compile", "%f"},
},
forwardSearch = {
executable = "/Applications/Skim.app/Contents/SharedSupport/displayline",
args = { "-g", "%l", "%p", "%f" },
},
},
},
},
},
},
}
Moreover, :LspLog
does not provide useful information for debugging incorrect configurations as the erroneous configuration will not load, resulting in a silent bug.
I think that an example as I gave above could be added to the docs here.
Just mentioning "automatically loaded" may deserve more explanation.
I think explicitly mentioning vim.tbl_deep_extend("force",...,...)
should remove ambiguity even for novice lua user like me.
I am thinking along ...
The files
autocmds.lua
,keymaps.lua
,lazy.lua
andoptions.lua
underlua/config
will be automatically loaded at the appropriate time, so you don't need to require those files manually. This user override mechanism is implemented by using code such asoptions = vim.tbl_deep_extend("force", defaults, opts or {})
. LazyVim comes with a set of default config files providingdefaults
table and their table contents are overridden by your own config files providingopts
table.
Hi,
I was looking at the lazyvim documentation and noticed that a part of the documentation does not seem listed in the sidebar. See for example this screenshot that only shows the first 4 extras, but not more, such as flash.nvim. I tested in Firefox, Safari and Edge.
The only way to get there seems to be pressing next page at the bottom or by using the search bar.
As a side note, it would be helpful if there was a page when clicking on extras that would list them all. (In a similar way that plugins and configurations have their own page.)
p.s. By the way I just started migrating to lazyvim and think it is a great project! Thanks for that.
p.p.s Also would love to help with a PR to fix it, but have no clue where to start (and I am not fluent in lua).
I am confused about where to place my lsp configuration options. For example, for clangd, should I use .../lua/plugins/clangd.lua
? Apologies, I am quite new to the system and I have been reading the docs for the last few weeks but not managed to figure out the answer.
I can of course get there by trial and error, but would it be possible to add some headers to the documentation on pages such as in lsp.md to make it clear where I would put the example configuration settings to use lazyVim in the anticipated way?
I am a lua novice, so sorry if this question makes little sense! If the change I am proposing makes no sense maybe we could just have a link in the getting started page for other documentation new users ought to read?
The lua snippet provided in https://www.lazyvim.org/configuration/examples contains many helpful examples, but at this current time it seems to raise a few diagnostic errors when added, which may be confusing to new users like myself.
Here's the current 5 diagnostic errors
lua/plugins/example.lua 5
│ Missing required fields in type
`lspconfig.options`: `als`, `astro`, `awkls`, `bashls`, `clangd`, `cssls`,
`dartls`, `denols`, `elixirls`, `elmls`, `eslint`, `flow`, `fsautocomplete`,
`grammarly`, `haxe_language_server`, `hhvm`, `hie`, `html`, `intelephense`,
`java_language_server`, `jdtls`, `jsonls`, `julials`,
`kotlin_language_server`, `ltex`, `lua_ls`, `luau_lsp`, `omnisharp`,
`perlls`, `perlnavigator`, `perlpls`, `powershell_es`, `psalm`, `puppet`,
`purescriptls`, `pylsp`, `r_language_server`, `rescriptls`, `rls`, `rome`,
`rust_analyzer`, `solargraph`, `solidity_ls`, `sorbet`, `sourcekit`,
`spectral`, `stylelint_lsp`, `svelte`, `svlangserver`, `tailwindcss`,
`terraformls`, `tsserver`, `volar`, `vtsls`, `vuels`, `wgls_analyzer`,
`yamlls`, `zeta_note`, `zls` Lua Diagnostics. (missing-fields) [92, 17]
│ Missing required fields in type `lspconfig.options.pyright`: `settings` Lua
Diagnostics. (missing-fields) [94, 19]
│ Undefined field `on_attach`.
Lua Diagnostics. (undefined-field) [105, 33]
│ Missing required fields
in type `lspconfig.options`: `als`, `astro`, `awkls`, `bashls`, `clangd`,
`cssls`, `dartls`, `denols`, `elixirls`, `elmls`, `eslint`, `flow`,
`fsautocomplete`, `grammarly`, `haxe_language_server`, `hhvm`, `hie`,
`html`, `intelephense`, `java_language_server`, `jdtls`, `jsonls`,
`julials`, `kotlin_language_server`, `ltex`, `lua_ls`, `luau_lsp`,
`omnisharp`, `perlls`, `perlnavigator`, `perlpls`, `powershell_es`, `psalm`,
`puppet`, `purescriptls`, `pylsp`, `pyright`, `r_language_server`,
`rescriptls`, `rls`, `rome`, `rust_analyzer`, `solargraph`, `solidity_ls`,
`sorbet`, `sourcekit`, `spectral`, `stylelint_lsp`, `svelte`,
`svlangserver`, `tailwindcss`, `terraformls`, `volar`, `vtsls`, `vuels`,
`wgls_analyzer`, `yamlls`, `zeta_note`, `zls` Lua Diagnostics.
(missing-fields) [115, 17]
│ Missing required fields in type
`lspconfig.options.tsserver`: `settings` Lua Diagnostics. (missing-fields)
[117, 20]
Switching over from hand crafted vim setup to neovim / LazyVIM and x
not working drove me nuts. Through reddit, I found this was because of leap.nvim which lazy enables but isn't documented.
Having this in the keymaps documentation would have made this more discoverable for resolving it on my own. Granted, searching the keymaps isn't easy for single-letters like x
.
Hi,
After the initial install LazyHealth was there, but after running Update inside Lazy (the pm) I don't have it anymore.
That said it seems that all the same fields are now printed to the core :checkhealth
.
If it was merged in the core command then there is a small typo there: https://github.com/LazyVim/lazyvim.github.io/blob/main/docs/installation.md (or the fact that the command will be missing after updating above vXX)
Thanks
The first link seems correct, the two other ones return a 404.
lazyvim.github.io/docs/plugins/ui.md
Lines 74 to 161 in b9214b1
Edit: Resolved by #50 but there is no open issue for it
I noticed that the next link in https://www.lazyvim.org/configuration/tips leads to "back" to
https://www.lazyvim.org/configuration/plugins.
If you read the documentation by clicking the next link (e.g. on the phone where the navigation is a bit more hidden) you'll be stuck in a loop.
The configuration/plugins
URL matches both Configuration > Plugins
and Plugins
, rendering the configuration/plugins.md
file. I tried fixing this and putting up a PR but got stuck figuring out the preferred solution. Is it best to create a separate plugins/index.md
file? If so, what should the content of that page be vs configuration/plugins.md
? 🙂
– Nasse
The docker instructions listed will fail with a 'platform unsupported' error when Mason tries to install stylua (and lua-language-server if you go that far). Alpine Linux is compiled with musl and the Mason install of stylua requires glibc (mason.nvim issue 1406).
Using archlinux as the Docker base image is another option. Downside for Mx macbook users is that there is no arm64 official archlinux image.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.