92 lines
2.7 KiB
Common Lisp
92 lines
2.7 KiB
Common Lisp
;; MACROS
|
|
|
|
(define TAB-LENGTH 4)
|
|
(define QUIT-TIMES 1)
|
|
(define THEME "dark")
|
|
|
|
;; PACKAGES
|
|
|
|
;; First git clone it
|
|
;; (add-package "smart_delimiters")
|
|
|
|
;; FUNCTIONS
|
|
|
|
(define editor-delete-next-char (lambda () (
|
|
(move-cursor "right")
|
|
(editor-delete-previous-char)
|
|
)
|
|
)
|
|
)
|
|
|
|
|
|
(define (char-between ch lo hi)
|
|
(if (char>=? ch lo)
|
|
(char<=? ch hi)
|
|
#f))
|
|
|
|
(define (alphanumericp ch)
|
|
(if ch
|
|
(if (char-between ch #\a #\z)
|
|
#t
|
|
(if (char-between ch #\A #\Z)
|
|
#t
|
|
(if (char-between ch #\0 #\9)
|
|
#t
|
|
#f)))
|
|
#f))
|
|
|
|
|
|
(define (word-char-p ch)
|
|
(if (alphanumericp ch)
|
|
#t
|
|
#f))
|
|
|
|
(define editor-move-to-end-of-word (lambda () (
|
|
(if (word-char-p (editor-read-char))
|
|
((move-cursor "right")
|
|
(editor-move-to-end-of-word))
|
|
))
|
|
))
|
|
|
|
(define enter-and-tab
|
|
(lambda ()
|
|
(editor-insert-new-line)
|
|
(let ((is-in (move-cursor "up")))
|
|
(do ((ch (editor-read-char) (editor-read-char)))
|
|
((and (not (char=? ch #\space)) is-in) #f)
|
|
(move-cursor "down")
|
|
(editor-insert-char " ")
|
|
(set! is-in (move-cursor "up")))
|
|
(move-cursor "down"))))
|
|
|
|
(add-prefix "user")
|
|
|
|
|
|
|
|
(map-key "CTRL-x" '(editor-set-prefix "user") "no-prefix")
|
|
(map-key "CTRL-g" '(editor-set-prefix "no-prefix") "user")
|
|
(map-key "CTRL-c" editor-quit "user")
|
|
(map-key "CTRL-s" editor-save "user")
|
|
(map-key "ARROW-UP" '(move-cursor "up") "no-prefix")
|
|
(map-key "ARROW-DOWN" '(move-cursor "down") "no-prefix")
|
|
(map-key "ARROW-RIGHT" '(move-cursor "right") "no-prefix")
|
|
(map-key "ARROW-LEFT" '(move-cursor "left") "no-prefix")
|
|
(map-key "ENTER" enter-and-tab "no-prefix")
|
|
(map-key "CTRL-a" move-cursor-beg-line "no-prefix")
|
|
(map-key "CTRL-e" move-cursor-end-line "no-prefix")
|
|
(map-key "BACKSPACE" editor-delete-previous-char "no-prefix")
|
|
(map-key "DEL" editor-delete-next-char "no-prefix")
|
|
(map-key "PAGE-UP" move-cursor-page-up "no-prefix")
|
|
(map-key "PAGE-DOWN" move-cursor-page-down "no-prefix")
|
|
(map-key "f" editor-open-file "user")
|
|
(map-key "TAB" editor-insert-tab "no-prefix")
|
|
(map-key "CTRL-k" editor-del-row "no-prefix")
|
|
(map-key "CTRL-s" buffer-find "no-prefix")
|
|
(map-key "CTRL-r" editor-move-to-end-of-word "no-prefix")
|
|
(map-key "ARROW-RIGHT" editor-switch-next-buffer "user")
|
|
(map-key "\"" editor-split-screen-vertical "user")
|
|
(map-key "o" editor-switch-next-pane "user")
|
|
(map-key "*" editor-unify-panes "user")
|
|
(map-key "t" editor-create-terminal "user")
|
|
|