diff options
author | Oscar Najera <hi@oscarnajera.com> | 2025-05-04 17:32:24 +0200 |
---|---|---|
committer | Oscar Najera <hi@oscarnajera.com> | 2025-05-04 17:32:24 +0200 |
commit | cbb0209eca820c9f5700c327b144bb388dfac805 (patch) | |
tree | 161fec59024f9f62628f7b4df6495f476e3b80c4 | |
parent | 29e365117119c3ede198346ffa7efb6738ee8bbc (diff) | |
download | dotfiles-cbb0209eca820c9f5700c327b144bb388dfac805.tar.gz dotfiles-cbb0209eca820c9f5700c327b144bb388dfac805.tar.bz2 dotfiles-cbb0209eca820c9f5700c327b144bb388dfac805.zip |
[cmk] isolate csv show function
-rw-r--r-- | elisp/cmk.el | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/elisp/cmk.el b/elisp/cmk.el index 8d754cd..ad97272 100644 --- a/elisp/cmk.el +++ b/elisp/cmk.el @@ -113,7 +113,7 @@ Default is \"%Y-%m-%d %H:%M\"." '("Filter" "Columns" "Stats" "Limit" "ColumnHeaders" "OutputFormat")) (define-derived-mode cmk-livestatus-mode prog-mode "livestatus" - "Major mode for viewing journalctl output." + "Major mode for editing livestatus queries." (add-function :before-until (local 'eldoc-documentation-function) #'cmk-timestamp-eldoc-documentation) ;; (setq-local company-backends (cons 'company-cmk-lq company-backends)) @@ -126,6 +126,15 @@ Default is \"%Y-%m-%d %H:%M\"." (,(rx bol (or "And" "Or" "Negate") ":" whitespace) . font-lock-keyword-face) (,(rx whitespace (or "~" "=" "=~" "~~" "<" ">" "<=" ">=") whitespace) . font-lock-keyword-face))))) +(defun cmk-livestatus-get-csv-result (query) + "Send QUERY to a new livestatus process. +Display result buffer in csv mode with aligned entries." + (let ((cmk (cmk-livestatus-query query))) + (switch-to-buffer (process-buffer cmk)) + (csv-set-separator ?\;) + (csv-align-mode) + (setq-local cmk-livestatus-query query))) + (defun cmk-custom-livestatus-query () "Open buffer to write a livestatus query." (interactive) @@ -139,11 +148,7 @@ Default is \"%Y-%m-%d %H:%M\"." (interactive) (let ((new-query (-> (buffer-string) (string-trim) (concat "\n\n")))) (kill-buffer) - (let ((cmk (cmk-livestatus-query new-query))) - (switch-to-buffer (process-buffer cmk)) - (csv-set-separator ?\;) - (csv-align-mode) - (setq-local cmk-livestatus-query new-query)))))) + (cmk-livestatus-get-csv-result new-query))))) (switch-to-buffer edit-buffer))) (defun company-cmk-lq (command &optional arg &rest _ignored) |