aboutsummaryrefslogtreecommitdiffhomepage
path: root/sample.teco_ini
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2024-12-30 05:00:44 +0300
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2024-12-30 05:00:44 +0300
commite2eff00a9c0d89a196bb297b4958473a681ddfee (patch)
tree3260f9a583fae5f77563bc28e434bf23cf4075cd /sample.teco_ini
parent45cb7da5de3145525c4f33605cb77e76854159a1 (diff)
downloadsciteco-e2eff00a9c0d89a196bb297b4958473a681ddfee.tar.gz
support +line[,column] and filename:line:column syntaxes when opening files
* This is done via the new opener.tes in the standard library. * Some programs that use $EDITOR expect the +line syntax to work. * You can copy filename:line:column directly from GCC error messages and filename:line from grep output. * Since there may be safe file names beginning with "+" or containing colons, there needs to be a way to turn this off, especially for scripts that don't know anything about the filenames to open. This is done with "--". Unfortunately, the first "--", that stops parameter processing, is always removed from the command line and not passed down into TECO land. This is not a problem for stand-alone scripts, since the script filename is already stopping option processing, so "--" would get passed down. But when calling the profile via `sciteco -- ...`, you could prevent leading minus signs to cause problems but since the `--` is removed, opener.tes cannot use it as a hint. Therefore, we introduced `-S` as a new alternative to `--`, that's always passed down as `--` (i.e. it is equivalent to "-- --"). In other words, `sciteco -S *` will always open exactly the specified files without any danger of misinterpreting certain file names. Should we ever switch to a custom option parsing algorithm, we might preserve "--" (unless after --mung) and thus get rid of "-S". * This advanced behavior can be tweaked by the user relatively easily. In the easiest case, we could replace M[opener] with <:L;R 0X.f [* @EB/^EN.f/ ]* L> in ~/.teco_ini to completely disable the special syntax.
Diffstat (limited to 'sample.teco_ini')
-rw-r--r--sample.teco_ini6
1 files changed, 2 insertions, 4 deletions
diff --git a/sample.teco_ini b/sample.teco_ini
index 0fbf40d..a9caf26 100644
--- a/sample.teco_ini
+++ b/sample.teco_ini
@@ -7,6 +7,7 @@ EMQ[$SCITECOPATH]/color.tes
!* Load lexer and buffer session libraries *!
EMQ[$SCITECOPATH]/lexer.tes
EMQ[$SCITECOPATH]/session.tes
+EMQ[$SCITECOPATH]/opener.tes
!* Automatic lexing and session management using ED hooks *!
@#ED{
@@ -81,8 +82,5 @@ Z"=
M[session.load]
|
[session.path] !* disables session saving *!
- [.f
- <:L;R 0X.f [* EBN.f ]* L>
- ].f
- -EF
+ M[opener] -EF
'