diff --git a/comint-ledger.el b/comint-ledger.el index 75cc9ab..f817d8c 100644 --- a/comint-ledger.el +++ b/comint-ledger.el @@ -19,40 +19,40 @@ (require 'comint) -(defvar ledger-cli-path (executable-find "ledger") +(defvar comint-ledger-cli-path (executable-find "ledger") "Path to the program used by `run-ledger'.") -(defvar ledger-file-path nil +(defvar comint-ledger-file-path nil "Path to the ledger data file.") -(defvar ledger-cli-arguments '() +(defvar comint-ledger-cli-arguments '() "Commandline arguments to pass to `ledger'.") -(defvar ledger-mode-map +(defvar comint-ledger-mode-map (let ((map (nconc (make-sparse-keymap) comint-mode-map))) ;; example definition (define-key map "\t" 'completion-at-point) map) "Basic mode map for `run-ledger'.") -(defvar ledger-prompt-regexp (rx bol "] ") +(defvar comint-ledger-prompt-regexp (rx bol "] ") "Prompt for `run-ledger'.") -(defvar ledger-buffer-name "*Ledger*" +(defvar comint-ledger-buffer-name "*Ledger*" "Name of the buffer to use for the `run-ledger' comint instance.") ;;;###autoload (defun run-ledger (ledger-file) "Run an inferior instance of `ledger' inside Emacs, using LEDGER-FILE. -The LEDGER-FILE can be configured through the `ledger-file-path' +The LEDGER-FILE can be configured through the `comint-ledger-file-path' variable, otherwise a prompt will appear to select a file." - (interactive (list (or ledger-file-path + (interactive (list (or comint-ledger-file-path (read-file-name "Ledger file: ")))) - (let* ((ledger-program ledger-cli-path) + (let* ((ledger-program comint-ledger-cli-path) (ledger-file-arguments (list "--no-pager" "-f" ledger-file)) - (ledger-arguments (append ledger-file-arguments ledger-cli-arguments)) - (buffer (get-buffer-create ledger-buffer-name)) + (ledger-arguments (append ledger-file-arguments comint-ledger-cli-arguments)) + (buffer (get-buffer-create comint-ledger-buffer-name)) (proc-alive (comint-check-proc buffer))) ;; if the process is dead then re-create the process and reset the ;; mode. @@ -65,7 +65,7 @@ variable, otherwise a prompt will appear to select a file." (when buffer (pop-to-buffer buffer)))) -(defun ledger--initialize () +(defun comint-ledger--initialize () "Helper function to initialize ledger." (setq comint-process-echoes t) (setq comint-use-prompt-regexp t)) @@ -75,25 +75,25 @@ variable, otherwise a prompt will appear to select a file." \\" ;; this sets up the prompt so it matches things like: [foo@bar] - (setq comint-prompt-regexp ledger-prompt-regexp) + (setq comint-prompt-regexp comint-ledger-prompt-regexp) ;; this makes it read only; a contentious subject as some prefer the ;; buffer to be overwritable. (setq comint-prompt-read-only t) ;; this makes it so commands like M-{ and M-} work. (set (make-local-variable 'paragraph-separate) "\\'") - (set (make-local-variable 'font-lock-defaults) '(ledger-font-lock-keywords t)) - (set (make-local-variable 'paragraph-start) ledger-prompt-regexp)) + (set (make-local-variable 'font-lock-defaults) '(comint-ledger-font-lock-keywords t)) + (set (make-local-variable 'paragraph-start) comint-ledger-prompt-regexp)) -(add-hook 'ledger-mode-hook 'ledger--initialize) +(add-hook 'ledger-mode-hook 'comint-ledger--initialize) -(defconst ledger-keywords +(defconst comint-ledger-keywords '() - "List of keywords to highlight in `ledger-font-lock-keywords'.") + "List of keywords to highlight in `comint-ledger-font-lock-keywords'.") -(defvar ledger-font-lock-keywords +(defvar comint-ledger-font-lock-keywords (list ;; highlight all the reserved commands. - `(,(concat "\\_<" (regexp-opt ledger-keywords) "\\_>") . font-lock-keyword-face)) + `(,(concat "\\_<" (regexp-opt comint-ledger-keywords) "\\_>") . font-lock-keyword-face)) "Additional expressions to highlight in `comint-ledger-mode'.") (provide 'comint-ledger)