Module editor
Text editor launching functionality
This module is primarily for use by other Lua modules that wish to
allow the user to edit a particular text file. The default is to guess at the
shell command to open a text editor from environment variables. To override
the guess, replace editor.cmd_string
. This can be done manually, as follows:
local editor = require "editor" editor.editor_cmd = "urxvt -e nvim {file} +{line}"
Before running the command, {file}
will be replaced by the name of the file
to be edited, and {line}
will be replaced by the number of the line at
which to begin editing. This module also supplies several builtin command
strings, which can be used like this:
local editor = require "editor" editor.editor_cmd = editor.builtin.urxvt
Functions
editor.edit (file, line, callback)
Edit a file in a terminal editor in a new window.
- Can't yet handle files with special characters in their name.
Parameters
-
fileType: stringThe path of the file to edit.
-
lineType: numberOptionalThe line number at which to begin editing.
-
callbackType: functionOptionalA callback that fires when the process spawned by the editor command exits, of type
process_exit_cb
.
Properties
editor.builtin
Type: table
Read-only
Built in substitution strings. Includes
autodetect
(attempts to extract a terminal and editor from environment variables, and otherwise falls back to xterm and vim)xterm
urxvt
xdg_open
editor.editor_cmd
Type: string
Read-write
The shell command used to open the editor. The default setting is to
use
editor.builtin.xdg_open
.
Attribution
Copyright
- 2017 Graham Leach-Krouse
- 2017 Aidan Holm