mirror of
				https://github.com/NotAShelf/nvf.git
				synced 2025-10-31 19:12:38 +00:00 
			
		
		
		
	nvim-lint: moved linting into its own global function "nvf_lint(buf)"
This commit is contained in:
		
					parent
					
						
							
								1f8a44c432
							
						
					
				
			
			
				commit
				
					
						acbeb26854
					
				
			
		
					 1 changed files with 36 additions and 32 deletions
				
			
		|  | @ -28,6 +28,41 @@ in { | |||
|               end | ||||
|             end | ||||
|           end | ||||
| 
 | ||||
|           function nvf_lint(buf) | ||||
|             local ft = vim.api.nvim_get_option_value("filetype", { buf = buf }) | ||||
|             local linters = require("lint").linters | ||||
|             local linters_from_ft = require("lint").linters_by_ft[ft] | ||||
| 
 | ||||
|             -- if no linter is configured for this filetype, stops linting | ||||
|             if linters_from_ft == nil then return end | ||||
| 
 | ||||
|             for _, name in ipairs(linters_from_ft) do | ||||
|               local linter = linters[name] | ||||
|               assert(linter, 'Linter with name `' .. name .. '` not available') | ||||
| 
 | ||||
|               if type(linter) == "function" then | ||||
|                 linter = linter() | ||||
|               end | ||||
|               -- for require("lint").lint() to work, linter.name must be set | ||||
|               linter.name = linter.name or name | ||||
|               local cwd = linter.required_files | ||||
| 
 | ||||
|               -- if no configuration files are configured, lint | ||||
|               if cwd == nil then | ||||
|                 require("lint").lint(linter) | ||||
|               else | ||||
|                 -- if configuration files are configured and present in the project, lint | ||||
|                 for _, fn in ipairs(cwd) do | ||||
|                   local path = vim.fs.joinpath(linter.cwd or vim.fn.getcwd(), fn); | ||||
|                   if vim.uv.fs_stat(path) then | ||||
|                     require("lint").lint(linter) | ||||
|                     break | ||||
|                   end | ||||
|                 end | ||||
|               end | ||||
|             end | ||||
|           end | ||||
|         ''; | ||||
|       }; | ||||
|     }) | ||||
|  | @ -39,38 +74,7 @@ in { | |||
|             event = ["BufWritePost"]; | ||||
|             callback = mkLuaInline '' | ||||
|               function(args) | ||||
|                 local ft = vim.api.nvim_get_option_value("filetype", { buf = args.buf }) | ||||
|                 local linters = require("lint").linters | ||||
|                 local linters_from_ft = require("lint").linters_by_ft[ft] | ||||
| 
 | ||||
|                 -- if no linter is configured for this filetype, stops linting | ||||
|                 if linters_from_ft == nil then return end | ||||
| 
 | ||||
|                 for _, name in ipairs(linters_from_ft) do | ||||
|                   local linter = linters[name] | ||||
|                   assert(linter, 'Linter with name `' .. name .. '` not available') | ||||
| 
 | ||||
|                   if type(linter) == "function" then | ||||
|                     linter = linter() | ||||
|                   end | ||||
|                   -- for require("lint").lint() to work, linter.name must be set | ||||
|                   linter.name = linter.name or name | ||||
|                   local cwd = linter.required_files | ||||
| 
 | ||||
|                   -- if no configuration files are configured, lint | ||||
|                   if cwd == nil then | ||||
|                     require("lint").lint(linter) | ||||
|                   else | ||||
|                     -- if configuration files are configured and present in the project, lint | ||||
|                     for _, fn in ipairs(cwd) do | ||||
|                       local path = vim.fs.joinpath(linter.cwd or vim.fn.getcwd(), fn); | ||||
|                       if vim.uv.fs_stat(path) then | ||||
|                         require("lint").lint(linter) | ||||
|                         break | ||||
|                       end | ||||
|                     end | ||||
|                   end | ||||
|                 end | ||||
|                 nvf_lint(args.buf) | ||||
|               end | ||||
|             ''; | ||||
|           } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 rice-cracker-dev
				rice-cracker-dev