feat: add linter plugin (#699)
This commit is contained in:
		
							parent
							
								
									b81115d002
								
							
						
					
					
						commit
						8e24ca32e3
					
				
							
								
								
									
										1
									
								
								init.lua
								
								
								
								
							
							
						
						
									
										1
									
								
								init.lua
								
								
								
								
							|  | @ -831,6 +831,7 @@ require('lazy').setup({ | ||||||
|   -- |   -- | ||||||
|   -- require 'kickstart.plugins.debug', |   -- require 'kickstart.plugins.debug', | ||||||
|   -- require 'kickstart.plugins.indent_line', |   -- require 'kickstart.plugins.indent_line', | ||||||
|  |   -- require 'kickstart.plugins.lint', | ||||||
| 
 | 
 | ||||||
|   -- NOTE: The import below can automatically add your own plugins, configuration, etc from `lua/custom/plugins/*.lua` |   -- NOTE: The import below can automatically add your own plugins, configuration, etc from `lua/custom/plugins/*.lua` | ||||||
|   --    This is the easiest way to modularize your config. |   --    This is the easiest way to modularize your config. | ||||||
|  |  | ||||||
|  | @ -0,0 +1,55 @@ | ||||||
|  | return { | ||||||
|  | 
 | ||||||
|  |   { -- Linting | ||||||
|  |     'mfussenegger/nvim-lint', | ||||||
|  |     event = { 'BufReadPre', 'BufNewFile' }, | ||||||
|  |     config = function() | ||||||
|  |       local lint = require 'lint' | ||||||
|  |       lint.linters_by_ft = { | ||||||
|  |         markdown = { 'markdownlint' }, | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|  |       -- To allow other plugins to add linters to require('lint').linters_by_ft, | ||||||
|  |       -- instead set linters_by_ft like this: | ||||||
|  |       -- lint.linters_by_ft = lint.linters_by_ft or {} | ||||||
|  |       -- lint.linters_by_ft['markdown'] = { 'markdownlint' } | ||||||
|  |       -- | ||||||
|  |       -- However, note that this will enable a set of default linters, | ||||||
|  |       -- which will cause errors unless these tools are available: | ||||||
|  |       -- { | ||||||
|  |       --   clojure = { "clj-kondo" }, | ||||||
|  |       --   dockerfile = { "hadolint" }, | ||||||
|  |       --   inko = { "inko" }, | ||||||
|  |       --   janet = { "janet" }, | ||||||
|  |       --   json = { "jsonlint" }, | ||||||
|  |       --   markdown = { "vale" }, | ||||||
|  |       --   rst = { "vale" }, | ||||||
|  |       --   ruby = { "ruby" }, | ||||||
|  |       --   terraform = { "tflint" }, | ||||||
|  |       --   text = { "vale" } | ||||||
|  |       -- } | ||||||
|  |       -- | ||||||
|  |       -- You can disable the default linters by setting their filetypes to nil: | ||||||
|  |       -- lint.linters_by_ft['clojure'] = nil | ||||||
|  |       -- lint.linters_by_ft['dockerfile'] = nil | ||||||
|  |       -- lint.linters_by_ft['inko'] = nil | ||||||
|  |       -- lint.linters_by_ft['janet'] = nil | ||||||
|  |       -- lint.linters_by_ft['json'] = nil | ||||||
|  |       -- lint.linters_by_ft['markdown'] = nil | ||||||
|  |       -- lint.linters_by_ft['rst'] = nil | ||||||
|  |       -- lint.linters_by_ft['ruby'] = nil | ||||||
|  |       -- lint.linters_by_ft['terraform'] = nil | ||||||
|  |       -- lint.linters_by_ft['text'] = nil | ||||||
|  | 
 | ||||||
|  |       -- Create autocommand which carries out the actual linting | ||||||
|  |       -- on the specified events. | ||||||
|  |       local lint_augroup = vim.api.nvim_create_augroup('lint', { clear = true }) | ||||||
|  |       vim.api.nvim_create_autocmd({ 'BufEnter', 'BufWritePost', 'InsertLeave' }, { | ||||||
|  |         group = lint_augroup, | ||||||
|  |         callback = function() | ||||||
|  |           require('lint').try_lint() | ||||||
|  |         end, | ||||||
|  |       }) | ||||||
|  |     end, | ||||||
|  |   }, | ||||||
|  | } | ||||||
		Loading…
	
		Reference in New Issue
	
	 Fredrik Averpil
						Fredrik Averpil