fmt: keep comments between and after imports (#8637)
							parent
							
								
									cb1f63f765
								
							
						
					
					
						commit
						8cb01ba8db
					
				|  | @ -285,8 +285,9 @@ pub: | |||
| 	mod_pos   token.Position | ||||
| 	alias_pos token.Position | ||||
| pub mut: | ||||
| 	syms     []ImportSymbol // the list of symbols in `import {symbol1, symbol2}`
 | ||||
| 	comments []Comment | ||||
| 	syms          []ImportSymbol // the list of symbols in `import {symbol1, symbol2}`
 | ||||
| 	comments      []Comment | ||||
| 	next_comments []Comment | ||||
| } | ||||
| 
 | ||||
| // import symbol,for import {symbol} syntax
 | ||||
|  |  | |||
|  | @ -280,6 +280,7 @@ pub fn (mut f Fmt) imports(imports []ast.Import) { | |||
| 		already_imported[import_text] = true | ||||
| 		f.out_imports.writeln(import_text) | ||||
| 		f.import_comments(imp.comments, inline: true) | ||||
| 		f.import_comments(imp.next_comments, {}) | ||||
| 		num_imports++ | ||||
| 	} | ||||
| 	if num_imports > 0 { | ||||
|  |  | |||
|  | @ -1,5 +1,11 @@ | |||
| // import time This should be commented out
 | ||||
| import os | ||||
| // between
 | ||||
| import rand | ||||
| // first between
 | ||||
| // second between
 | ||||
| import semver | ||||
| // after the last import
 | ||||
| // also after the last import
 | ||||
| 
 | ||||
| // another comment after imports
 | ||||
| // this comment does not belong to the imports anymore
 | ||||
|  |  | |||
|  | @ -1918,6 +1918,7 @@ fn (mut p Parser) import_stmt() ast.Import { | |||
| 		} | ||||
| 	} | ||||
| 	import_node.comments = p.eat_comments(same_line: true) | ||||
| 	import_node.next_comments = p.eat_comments(follow_up: true) | ||||
| 	p.imports[mod_alias] = mod_name | ||||
| 	// if mod_name !in p.table.imports {
 | ||||
| 	p.table.imports << mod_name | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue