Add parsecursor option for file:line:col syntax

This option is disabled by default, and when enabled causes micro
to parse `:line:col` as a location for the cursor rather than
as part of the filename.

Closes #1650
Closes #1685
This commit is contained in:
Zachary Yedidia
2020-05-29 14:55:24 -04:00
parent 8bd7e5807c
commit eeab114ed5
4 changed files with 22 additions and 7 deletions

View File

@@ -197,7 +197,11 @@ type Buffer struct {
// and an error if the file is a directory
func NewBufferFromFile(path string, btype BufType) (*Buffer, error) {
var err error
filename, cursorPos := util.GetPathAndCursorPosition(path)
var cursorPos []string
filename := path
if config.GetGlobalOption("parsecursor").(bool) {
filename, cursorPos = util.GetPathAndCursorPosition(path)
}
filename, err = util.ReplaceHome(filename)
if err != nil {
return nil, err

File diff suppressed because one or more lines are too long

View File

@@ -254,6 +254,7 @@ var DefaultGlobalOnlySettings = map[string]interface{}{
"infobar": true,
"keymenu": false,
"mouse": true,
"parsecursor": false,
"paste": false,
"savehistory": true,
"sucmd": "sudo",

View File

@@ -178,7 +178,7 @@ Here are the available options:
default value: `true`
* `paste`: Treat characters sent from the terminal in a single chunk as a paste
* `paste`: treat characters sent from the terminal in a single chunk as a paste
event rather than a series of manual key presses. If you are pasting using
the terminal keybinding (not Ctrl-v, which is micro's default paste
keybinding) then it is a good idea to enable this option during the paste
@@ -187,6 +187,16 @@ Here are the available options:
default value: `false`
* `parsecursor`: if enabled, this will cause micro to parse filenames such as
file.txt:10:5 as requesting to open `file.txt` with the cursor at line 10
and column 5. The column number can also be dropped to open the file at a
given line and column 0. Note that with this option enabled it is not possible
to open a file such as `file.txt:10:5`, where `:10:5` is part of the filename.
It is also possible to open a file with a certain cursor location by using the
`+LINE,COL` flag syntax. See `micro -help` for the command line options.
default value: `false`
* `pluginchannels`: list of URLs pointing to plugin channels for downloading and
installing plugins. A plugin channel consists of a json file with links to
plugin repos, which store information about plugin versions and download URLs.