changelog shortlog graph tags branches changeset files file revisions raw help

Mercurial > core / annotate lisp/lib/cli/ed.lisp

changeset 311: ef76122522ca
parent: 0d9d5cd46af5
child: 1e5e4bbcdf8b
author: Richard Westhaver <ellis@rwest.io>
date: Wed, 08 May 2024 16:57:06 -0400
permissions: -rw-r--r--
description: skel edit, vc commands
129
80a56483f9b5 more organ work
ellis <ellis@rwest.io>
parents:
diff changeset
1
 ;;; lib/cli/ed.lisp --- Editor functions
80a56483f9b5 more organ work
ellis <ellis@rwest.io>
parents:
diff changeset
2
 
80a56483f9b5 more organ work
ellis <ellis@rwest.io>
parents:
diff changeset
3
 ;;
80a56483f9b5 more organ work
ellis <ellis@rwest.io>
parents:
diff changeset
4
 
80a56483f9b5 more organ work
ellis <ellis@rwest.io>
parents:
diff changeset
5
 ;;; Code:
80a56483f9b5 more organ work
ellis <ellis@rwest.io>
parents:
diff changeset
6
 (in-package :cli/ed)
80a56483f9b5 more organ work
ellis <ellis@rwest.io>
parents:
diff changeset
7
 
80a56483f9b5 more organ work
ellis <ellis@rwest.io>
parents:
diff changeset
8
 (defun run-emacs (&optional x)
311
ef76122522ca skel edit, vc commands
Richard Westhaver <ellis@rwest.io>
parents: 148
diff changeset
9
   (sb-ext:run-program (cli:find-exe "emacs") (list x) :wait nil :output nil))
129
80a56483f9b5 more organ work
ellis <ellis@rwest.io>
parents:
diff changeset
10
 
311
ef76122522ca skel edit, vc commands
Richard Westhaver <ellis@rwest.io>
parents: 148
diff changeset
11
 (defun run-emacsclient (&optional (x "."))
ef76122522ca skel edit, vc commands
Richard Westhaver <ellis@rwest.io>
parents: 148
diff changeset
12
   (sb-ext:run-program (cli:find-exe "emacsclient") (list x "-c" "-a=") :wait nil :output nil))
129
80a56483f9b5 more organ work
ellis <ellis@rwest.io>
parents:
diff changeset
13
 
80a56483f9b5 more organ work
ellis <ellis@rwest.io>
parents:
diff changeset
14
 (push #'run-emacs sb-ext:*ed-functions*)
80a56483f9b5 more organ work
ellis <ellis@rwest.io>
parents:
diff changeset
15
 (push #'run-emacsclient sb-ext:*ed-functions*)
148
0d9d5cd46af5 added net/stream.rs, change def-ts-lang to macrolet form
ellis <ellis@rwest.io>
parents: 129
diff changeset
16
 
0d9d5cd46af5 added net/stream.rs, change def-ts-lang to macrolet form
ellis <ellis@rwest.io>
parents: 129
diff changeset
17
 ;;; Org Protocol
0d9d5cd46af5 added net/stream.rs, change def-ts-lang to macrolet form
ellis <ellis@rwest.io>
parents: 129
diff changeset
18
 ;; ref: https://orgmode.org/worg/org-contrib/org-protocol.html
0d9d5cd46af5 added net/stream.rs, change def-ts-lang to macrolet form
ellis <ellis@rwest.io>
parents: 129
diff changeset
19
 
0d9d5cd46af5 added net/stream.rs, change def-ts-lang to macrolet form
ellis <ellis@rwest.io>
parents: 129
diff changeset
20
 ;; On GNU/Linux, Emacs is now the default application for
0d9d5cd46af5 added net/stream.rs, change def-ts-lang to macrolet form
ellis <ellis@rwest.io>
parents: 129
diff changeset
21
 ;; 'org-protocol'. (startup change in Emacs 30.1)
0d9d5cd46af5 added net/stream.rs, change def-ts-lang to macrolet form
ellis <ellis@rwest.io>
parents: 129
diff changeset
22
 (defun org-store-link (url title)
0d9d5cd46af5 added net/stream.rs, change def-ts-lang to macrolet form
ellis <ellis@rwest.io>
parents: 129
diff changeset
23
   (run-emacsclient (format nil "org-protocol://store-link?url=~a&title=~a"
0d9d5cd46af5 added net/stream.rs, change def-ts-lang to macrolet form
ellis <ellis@rwest.io>
parents: 129
diff changeset
24
                            url title)))