add path command, fix options handling
This commit is contained in:
		@@ -2,7 +2,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
`n!` (notes!, nex, nexclamation) is a text notes manager.
 | 
					`n!` (notes!, nex, nexclamation) is a text notes manager.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Use it with [completion](completion) script. See help.txt for usage info.
 | 
					Use it with [completion](completion) script. See [help.txt](help.txt) for usage info.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Compilation:
 | 
					Compilation:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										1
									
								
								help.txt
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								help.txt
									
									
									
									
									
								
							@@ -8,6 +8,7 @@ Commands:
 | 
				
			|||||||
    lsd         print list of directories in notes path.
 | 
					    lsd         print list of directories in notes path.
 | 
				
			||||||
    s, search   search in notes via 'grep --color=always -rni'.
 | 
					    s, search   search in notes via 'grep --color=always -rni'.
 | 
				
			||||||
    g, grep     search in notes via custom grep.
 | 
					    g, grep     search in notes via custom grep.
 | 
				
			||||||
 | 
					    p, path     print absolute path to file.
 | 
				
			||||||
    h, help     print this help message and exit.
 | 
					    h, help     print this help message and exit.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Options:
 | 
					Options:
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										38
									
								
								main.v
									
									
									
									
									
								
							
							
						
						
									
										38
									
								
								main.v
									
									
									
									
									
								
							@@ -21,27 +21,17 @@ fn main() {
 | 
				
			|||||||
	mut pref := Preferences{}
 | 
						mut pref := Preferences{}
 | 
				
			||||||
	argv := arguments()[1..]
 | 
						argv := arguments()[1..]
 | 
				
			||||||
	opts := cmdline.only_options(argv)
 | 
						opts := cmdline.only_options(argv)
 | 
				
			||||||
	match true {
 | 
						for opt in opts {
 | 
				
			||||||
		'-trace' in opts {
 | 
							match opt {
 | 
				
			||||||
			pref.trace = true
 | 
								'-trace' { pref.trace = true }
 | 
				
			||||||
		}
 | 
								'-no-notes-path' { pref.no_notes_path = true }
 | 
				
			||||||
		'-no-notes-path' in opts {
 | 
								'-no-chdir' { pref.no_chdir = true }
 | 
				
			||||||
			pref.no_notes_path = true
 | 
								'-grep-raw' { pref.grep_raw = true }
 | 
				
			||||||
		}
 | 
								'-grep-no-color' { pref.grep_no_color = true }
 | 
				
			||||||
		'-no-chdir' in opts {
 | 
								'-grep-no-recursive' { pref.grep_no_recursive = true }
 | 
				
			||||||
			pref.no_chdir = true
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		'-grep-raw' in opts {
 | 
					 | 
				
			||||||
			pref.grep_raw = true
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		'-grep-no-color' in opts {
 | 
					 | 
				
			||||||
			pref.grep_no_color = true
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		'-grep-no-recursive' in opts {
 | 
					 | 
				
			||||||
			pref.grep_no_recursive = true
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
			else {}
 | 
								else {}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	args := cmdline.only_non_options(argv)
 | 
						args := cmdline.only_non_options(argv)
 | 
				
			||||||
	if args.len == 0 {
 | 
						if args.len == 0 {
 | 
				
			||||||
		os.chdir(notes_path)!
 | 
							os.chdir(notes_path)!
 | 
				
			||||||
@@ -121,6 +111,16 @@ fn main() {
 | 
				
			|||||||
			println(result.output.trim_space())
 | 
								println(result.output.trim_space())
 | 
				
			||||||
			return
 | 
								return
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
							'p', 'path' {
 | 
				
			||||||
 | 
								p := os.join_path_single(notes_path, argv[1])
 | 
				
			||||||
 | 
								if os.is_file(p) {
 | 
				
			||||||
 | 
									println(p)
 | 
				
			||||||
 | 
									return
 | 
				
			||||||
 | 
								} else {
 | 
				
			||||||
 | 
									eprintln('E: ${p} is not file or does not exist')
 | 
				
			||||||
 | 
									exit(1)
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
		'h', 'help' {
 | 
							'h', 'help' {
 | 
				
			||||||
			println(help.to_string().trim_space())
 | 
								println(help.to_string().trim_space())
 | 
				
			||||||
			return
 | 
								return
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user