mirror of
				https://github.com/tiyn/tidy.nvim.git
				synced 2025-10-31 11:11:23 +01:00 
			
		
		
		
	[init]:
This commit is contained in:
		
							
								
								
									
										42
									
								
								lua/init.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								lua/init.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,42 @@ | |||||||
|  | -- MP | ||||||
|  | -- These sources did all the work | ||||||
|  | --  1. https://vim.fandom.com/wiki/Remove_unwanted_spaces#Automatically_removing_all_trailing_whitespace | ||||||
|  | --  2. https://stackoverflow.com/questions/7495932/how-can-i-trim-blank-lines-at-the-end-of-file-in-vim | ||||||
|  |  | ||||||
|  | local M = {} | ||||||
|  |  | ||||||
|  |  | ||||||
|  | function M.clear_spaces() | ||||||
|  |  | ||||||
|  |     -- get tuple of cursor position before making changes | ||||||
|  |     local pos = vim.api.nvim_win_get_cursor( 0 ) | ||||||
|  |  | ||||||
|  |     -- delete all whitespace, see source 1 | ||||||
|  |     vim.cmd[[:%s/\s\+$//e]] | ||||||
|  |  | ||||||
|  |     -- delete all lines at end of buffer, see source 2 | ||||||
|  |     vim.cmd[[:silent! 0;/^\%(\n*.\)\@!/,$d]] | ||||||
|  |  | ||||||
|  |     -- get row count after line deletion | ||||||
|  |     local end_row = vim.api.nvim_buf_line_count( 0 ) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     --[[ | ||||||
|  |         if the row value in the original cursor | ||||||
|  |         position tuple is greater than the | ||||||
|  |         line count after empty line deletion | ||||||
|  |         (meaning that the cursor was inside of | ||||||
|  |         the empty lines at the end of the file | ||||||
|  |         when they were deleted), set the cursor | ||||||
|  |         row to the last line | ||||||
|  |     ]] | ||||||
|  |  | ||||||
|  |     if pos[1] > end_row then | ||||||
|  |         pos[1] = end_row | ||||||
|  |     end | ||||||
|  |  | ||||||
|  |     vim.api.nvim_win_set_cursor( 0, pos ) | ||||||
|  | end | ||||||
|  |  | ||||||
|  |  | ||||||
|  | return M | ||||||
							
								
								
									
										5
									
								
								plugin/tidy.vim
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								plugin/tidy.vim
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | |||||||
|  |  | ||||||
|  | augroup Tidy | ||||||
|  |     au! | ||||||
|  |     au BufWritePre * lua require( "aucmd.functions" ).clear_spaces() | ||||||
|  | augroup END | ||||||
							
								
								
									
										9
									
								
								readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								readme.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | |||||||
|  | #### Tidy.nvim | ||||||
|  |  | ||||||
|  | I like to keep my files orderly. Tidy.nvim is a function and autocommand pair that helps me do this by removing | ||||||
|  | all empty lines from the end of the file and trailing whitespace from all lines on every save. | ||||||
|  |  | ||||||
|  |  | ||||||
|  | Credits: | ||||||
|  | 1. https://vim.fandom.com/wiki/Remove_unwanted_spaces#Automatically_removing_all_trailing_whitespace | ||||||
|  | 2. ib. from https://stackoverflow.com/questions/7495932/how-can-i-trim-blank-lines-at-the-end-of-file-in-vim | ||||||
		Reference in New Issue
	
	Block a user