Skip to content

Not able to set dartExcludedFolders, anyone help? #490

@honzaadamec

Description

@honzaadamec

Hello, I started use this perfect plugin, but I'm basically stuck on the basic setting of lsp. I don't know what I'm doing wrong, bc when I was using old settings in my lsp.lua everything was fine. So any idea. Thanks a lot.

The dartExcludedFolders doesn't work. When I go to definition of something then it start analyze it... some many error appear.

flutter.lua

return {
	"akinsho/flutter-tools.nvim",
	dependencies = { "nvim-lua/plenary.nvim" },
	ft = { "dart" },
	config = function()
		local capabilities = require("cmp_nvim_lsp").default_capabilities()

		local home = vim.loop.os_homedir()
		local dartExcludedFolders = {
			home .. "/.pub-cache",
			home .. "/AppData/Local/Pub/Cache",
			home .. "/development/flutter",
			home .. "/fvm",
			"/opt/homebrew",
		}

		require("flutter-tools").setup({
			outline = {
				auto_open = false,
				open_cmd = "botright 50vnew",
			},
			lsp = {
				capabilities = capabilities,
				color = {
					enabled = true,
					background = false,
					foreground = false,
					virtual_text = true,
					virtual_text_str = "■",
				},
				settings = {
					init_options = {
						onlyAnalyzeProjectsWithOpenFiles = true,
						suggestFromUnimportedLibraries = true,
						closingLabels = true,
						outline = false,
						flutterOutline = false,
					},
					dart = {
						lineLength = 120,
						analysisExcludedFolders = dartExcludedFolders,
						updateImportsOnRename = true,
						completeFunctionCalls = true,
						showTodos = true,
						enableSnippets = true,
					},
				},
			},
		})

		-- Klávesová zkratka pro Outline
		vim.keymap.set(
			"n",
			"<leader>ffo",
			"<cmd>FlutterOutlineOpen<CR>",
			{ desc = "Flutter: Toggle Outline", silent = true }
		)
	end,
}

my lsp.lua

return {
	{
		"williamboman/mason.nvim",
		lazy = false,
		config = function()
			require("mason").setup()
		end,
	},
	{
		-- bridges the gap between mason and lspconfig
		"williamboman/mason-lspconfig.nvim",
		lazy = false,
		version = "1.29.0",
	},
	{
		"neovim/nvim-lspconfig",
		lazy = false,
		config = function()
			local lsp_config = require("lspconfig")
			require("mason-lspconfig").setup({
				ensure_installed = {
					"astro",
					"tailwindcss",
					"tsserver",
					"lua_ls",
				},
			})

			local capabilities = require("cmp_nvim_lsp").default_capabilities()

			vim.keymap.set("n", "<leader>e", vim.diagnostic.open_float)
			vim.keymap.set("n", "[d", vim.diagnostic.goto_prev)
			vim.keymap.set("n", "]d", vim.diagnostic.goto_next)
			vim.keymap.set("n", "<leader>dl", vim.diagnostic.setqflist)
			vim.keymap.set("n", "<leader>de", function()
				vim.diagnostic.setqflist({ severity = vim.diagnostic.severity.ERROR })
			end)

			vim.api.nvim_create_autocmd("LspAttach", {
				group = vim.api.nvim_create_augroup("UserLspConfig", {}),
				callback = function(ev)
					-- Buffer local mappings.
					-- See `:help vim.lsp.*` for documentation on any of the below functions
					local opts = { buffer = ev.buf }

					vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts)
					vim.keymap.set("n", "K", vim.lsp.buf.hover, opts)
					vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, opts)
					vim.keymap.set("n", "<leader>gr", vim.lsp.buf.references, opts)
					vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, opts)
					vim.keymap.set("i", "<C-h>", vim.lsp.buf.signature_help, opts)
				end,
			})

			--vim.keymap.set({ "n", "i" }, "<C-b>", function()
			--	vim.lsp.inlay_hint(0, nil)
			--end)

			vim.api.nvim_create_autocmd("DiagnosticChanged", {
				group = vim.api.nvim_create_augroup("AutoUpdateQuickfix", {}),
				callback = function()
					local diagnostics = vim.diagnostic.get(nil, { severity = vim.diagnostic.severity.ERROR })
					local quickfix_items = {}

					for _, diagnostic in ipairs(diagnostics) do
						table.insert(quickfix_items, {
							bufnr = diagnostic.bufnr,
							lnum = diagnostic.lnum + 1,
							col = diagnostic.col + 1,
							text = diagnostic.message,
						})
					end

					vim.fn.setqflist(quickfix_items, "r")
				end,
			})

			vim.diagnostic.config({
				virtual_text = true,
				signs = false,
			})

			-- local dartExcludedFolders = {
			-- 	vim.fn.expand("$HOME/AppData/Local/Pub/Cache"),
			-- 	vim.fn.expand("$HOME/.pub-cache"),
			-- 	vim.fn.expand("/opt/homebrew/"),
			-- 	vim.fn.expand("$HOME/development/flutter/"),
			-- }

			-- 			lsp_config["dcmls"].setup({
			--         capabilities = capabilities,
			--           cmd = { "dcm", "start-server" },
			--           filetypes = { "dart", "yaml" },
			--           settings = {
			--           dart = {
			--             analysisExcludedFolders = dartExcludedFolders,
			--             },
			--           },
			--           handlers = {
			--             ["workspace/didChangeConfiguration"] = function(_, _, _) return end
			--           },
			--         })
			--
			-- lsp_config["dartls"].setup({
			-- 	capabilities = capabilities,
			-- 	cmd = {
			-- 		"dart",
			-- 		"language-server",
			-- 		"--protocol=lsp",
			-- 		-- "--port=8123",
			-- 		-- "--instrumentation-log-file=/Users/robertbrunhage/Desktop/lsp-log.txt",
			-- 	},
			-- 	filetypes = { "dart" },
			-- 	init_options = {
					-- onlyAnalyzeProjectsWithOpenFiles = false,
					-- suggestFromUnimportedLibraries = true,
					-- closingLabels = true,
					-- outline = false,
					-- flutterOutline = false,
			-- 	},
			-- 	settings = {
			-- 		dart = {
			-- 			lineLength = 120,
			-- 			analysisExcludedFolders = dartExcludedFolders,
			-- 			updateImportsOnRename = true,
			-- 			completeFunctionCalls = true,
			-- 			showTodos = true,
			-- 		},
			-- 	},
			-- })

			lsp_config.astro.setup({
				capabilities = capabilities,
			})

			lsp_config.tailwindcss.setup({
				capabilities = capabilities,
			})

			lsp_config.ts_ls.setup({
				capabilities = capabilities,
			})

			lsp_config.lua_ls.setup({
				capabilities = capabilities,
				settings = {
					Lua = {
						-- runtime = {
						--   version = "LuaJIT",
						-- },
						diagnostics = {
							globals = { "vim" },
						},
						-- workspace = {
						--   checkThirdParty = false,
						--   library = {
						--     '${3rd}/luv/library',
						--     unpack(vim.api.nvim_get_runtime_rile("", true)),
						--     vim.api.nvim_get_proc,
						--   }
						-- },
					},
				},
			})

			-- Tooltip for the lsp in bottom right
			require("fidget").setup({})

			-- Hot reload :)
			require("dart-tools")
		end,
		dependencies = {
			"hrsh7th/cmp-nvim-lsp",

			{ "j-hui/fidget.nvim", tag = "legacy" },
			-- support for dart hot reload on save
			"RobertBrunhage/dart-tools.nvim",
		},
	},
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions