From 2900fcbb73b9f80f9a29adef6b0604e362c215c7 Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Wed, 18 Feb 2015 01:23:22 +0100 Subject: added session.hg and session.vcs macros * session.hg sets up the buffer session in the current Mercurial repository * session.vcs is a convenience macro that may be used in profiles to enable buffer sessions per repo for all supported VCS (Git, Hg and SVN) --- doc/sciteco.1.in | 5 +++-- lib/session.tes | 19 +++++++++++++++++++ sample.teco_ini | 3 +-- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/doc/sciteco.1.in b/doc/sciteco.1.in index 2cfd7ec..7e3b0c3 100644 --- a/doc/sciteco.1.in +++ b/doc/sciteco.1.in @@ -192,8 +192,9 @@ These files can be ignored by version control systems, etc. Macro storing the default buffer session. This is not written by \*(ST itself, but by the standard library \fBsession.tes\fP macros. -When the \(lqsession.git\(rq macro is used, these files -will also be created in the roots of Git repositories. +When the \(lqsession.vcs\(rq macro is used, these files +will also be created in the roots of Git, Mercurial and +Subversion repositories or working copies. . . .SH BUGS diff --git a/lib/session.tes b/lib/session.tes index 455eaa7..697c350 100644 --- a/lib/session.tes +++ b/lib/session.tes @@ -44,6 +44,16 @@ EU[session.path]Q[$SCITECOCONFIG]/.teco_session ' } +! Call to set up the session path unique to the + Mercurial repository of the current working directory. + This requires the Mercurial command-line client in $PATH. ! +@[session.hg]{ + ! if there is no Hg repository, session.path is left as it is ! + :EG[session.path]hg root"S + [* EQ[session.path] ZJ -D I/.teco_session ]* + ' +} + ! Call to set up the session path unique to the SVN working copy containing the current working directory. Requires the SVN client v1.7 or later in $PATH. ! @@ -56,3 +66,12 @@ EU[session.path]Q[$SCITECOCONFIG]/.teco_session ' ]* ' } + +! Call to set up the session path unique to the + repository/working copy containing the current working directory + (see above). ! +@[session.vcs]{ + M[session.git] + M[session.hg] + M[session.svn] +} diff --git a/sample.teco_ini b/sample.teco_ini index b53362d..adc37ab 100644 --- a/sample.teco_ini +++ b/sample.teco_ini @@ -46,8 +46,7 @@ EMQ[$SCITECOPATH]/fnkeys.tes Z"= ! Uncomment to use a separate session per VCS repository or working copy (see session.tes): ! - ! M[session.git] ! - ! M[session.svn] ! + ! M[session.vcs] ! M[session.load] | [session.path] ! disables session saving ! -- cgit v1.2.3