From 09e03011d78f11a977053f550e8400e3816cb1f2 Mon Sep 17 00:00:00 2001 From: Daniel Weschke Date: Fri, 4 Jul 2025 16:34:11 +0200 Subject: [PATCH] add autoloads and org-table copy cell function --- lisp/org-appear/org-appear-autoloads.el | 46 ++++++++++++++++++ lisp/update-autoloads.el | 1 + settings/org-settings.el | 62 +++++++++++++++++-------- 3 files changed, 90 insertions(+), 19 deletions(-) create mode 100644 lisp/org-appear/org-appear-autoloads.el diff --git a/lisp/org-appear/org-appear-autoloads.el b/lisp/org-appear/org-appear-autoloads.el new file mode 100644 index 00000000..13777d07 --- /dev/null +++ b/lisp/org-appear/org-appear-autoloads.el @@ -0,0 +1,46 @@ +;;; org-appear-autoloads.el --- automatically extracted autoloads (do not edit) -*- lexical-binding: t -*- +;; Generated by the `loaddefs-generate' function. + +;; This file is part of GNU Emacs. + +;;; Code: + +(add-to-list 'load-path (or (and load-file-name (directory-file-name (file-name-directory load-file-name))) (car load-path))) + + + +;;; Generated autoloads from org-appear.el + +(autoload 'org-appear-mode "org-appear" "\ +A minor mode that automatically toggles elements in Org mode. + +This is a minor mode. If called interactively, toggle the `Org-Appear +mode' mode. If the prefix argument is positive, enable the mode, and if +it is zero or negative, disable the mode. + +If called from Lisp, toggle the mode if ARG is `toggle'. Enable the +mode if ARG is nil, omitted, or is a positive number. Disable the mode +if ARG is a negative number. + +To check whether the minor mode is enabled in the current buffer, +evaluate the variable `org-appear-mode'. + +The mode's hook is called both when the mode is enabled and when it is +disabled. + +(fn &optional ARG)" t) +(register-definition-prefixes "org-appear" '("org-appear-")) + +;;; End of scraped data + +(provide 'org-appear-autoloads) + +;; Local Variables: +;; version-control: never +;; no-byte-compile: t +;; no-update-autoloads: t +;; no-native-compile: t +;; coding: utf-8-emacs-unix +;; End: + +;;; org-appear-autoloads.el ends here diff --git a/lisp/update-autoloads.el b/lisp/update-autoloads.el index 28ee6dd5..16eedb77 100644 --- a/lisp/update-autoloads.el +++ b/lisp/update-autoloads.el @@ -49,6 +49,7 @@ (package-generate-autoloads "ivy-rich" (concat config-dir "lisp/ivy-rich")) (package-generate-autoloads "my" (concat config-dir "lisp/my")) ;; (package-generate-autoloads "org" (concat config-dir "lisp/org")) ;; already org-loaddefs.el + (package-generate-autoloads "org-appear" (concat config-dir "lisp/org-appear")) (package-generate-autoloads "org-contrib" (concat config-dir "lisp/org-contrib")) (package-generate-autoloads "spacemacs-theme" (concat config-dir "lisp/spacemacs-theme")) (package-generate-autoloads "srefactor" (concat config-dir "lisp/srefactor")) diff --git a/settings/org-settings.el b/settings/org-settings.el index 2ae775df..470cb7ad 100644 --- a/settings/org-settings.el +++ b/settings/org-settings.el @@ -336,30 +336,21 @@ Example defines (shell . t) (sql . t))) - (add-to-list 'image-file-name-extensions "eps" t)) ;; TODO: eps not needed? + (add-to-list 'image-file-name-extensions "eps" t)) ;; TODO: eps not needed? -;; org core libs -(use-package org-src - :defer t - :config - (setq org-edit-src-content-indentation 0) - (setq org-src-preserve-indentation t)) - -;; (require 'org-contrib-autoloads) (use-package org-contrib - ;; :defer t + :defer t ;; :init ;; (require 'org-contrib-autoloads) ) -;;; org-contrib libs - ;; Make invisible parts of Org elements appear visible. (use-package org-appear :commands (org-appear-mode) + :init (require 'org-appear-autoloads) ;; :hook (org-mode . org-appear-mode) - :config (setq org-appear-autoentities t) ;; toogle entities: \alpha -> ɑ, needs `org-pretty-entities' active + :config (setq org-appear-autoemphasis t) ;; toggle emphasis markers, t by default, needs `org-hide-emphasis-markers' active (setq org-appear-autolinks t) ;; toogle links, needs `org-link-descriptive' active (setq org-appear-autosubmarkers t) ;; toogle subscripts and superscripts: ^3 -> ³, needs `org-pretty-entities' active @@ -484,13 +475,13 @@ Suggest the URL title as a description for resource." (use-package org-collector ;; collect properties into tables, using #+BEGIN: propview ;; org-contrib - :defer 0.1 - :after org-table) + :after (org-contrib)) (use-package org-drill ;; requires persist https://elpa.gnu.org/packages/persist.html :commands org-drill) (use-package org-faces + ;; built-in org :defer t :config (setq org-todo-keyword-faces ;; TODO keywords @@ -621,6 +612,13 @@ Suggest the URL title as a description for resource." ;;(setq org-roam-ui-open-on-start t) ) +(use-package org-src + ;; built-in org + :defer t + :config + (setq org-edit-src-content-indentation 0) + (setq org-src-preserve-indentation t)) + (use-package org-sticky-header :after (org-table-sticky-header) ;; org-table-sticky-header-mode must be set before :hook (org-mode . org-sticky-header-mode) @@ -663,9 +661,35 @@ Suggest the URL title as a description for resource." (set-face-attribute 'org-superstar-leading nil :foreground "#42444a")) ;; "#42444a" (use-package org-table + ;; built-in org :defer t :config - (setq org-table-convert-region-max-lines 9999)) + (setq org-table-convert-region-max-lines 9999) + + ;; copy content of current cell + (defun my-org-table-copy-cell () + (interactive) + (when (org-at-table-p) + (kill-new + (string-trim + (substring-no-properties(org-table-get-field)))) + (message "copied cell: @%d$%d" + (org-table-current-line) + (org-table-current-column) ))) + + ;; auto enable hl-line-mode inside org-table + ;; add a hook that runs after every command when you are in an org + ;; (or orgtbl) buffer, and toggles hl-line-mode accordingly + ;; https://emacs.stackexchange.com/a/29503 + (defun my-org-table-highlight-current-line () + (interactive) + (if (org-at-table-p) + (hl-line-mode 1) + (hl-line-mode -1))) + (defun my-org-table-setup-highlighting () + (add-hook 'post-command-hook #'my-org-table-highlight-current-line nil t)) + (add-hook 'org-mode-hook #'my-org-table-setup-highlighting) + (add-hook 'orgtbl-mode-hook #'my-org-table-setup-highlighting) ) (use-package org-table-sticky-header :delight (org-table-sticky-header-mode "Tsh") ;; \u24C4t OTSH "\u24C9" @@ -1100,12 +1124,12 @@ Uses function `my-org-headline-string-element'" 'my-org-latex-ensure-clearpage)) (use-package ox-extra - :defer 0.1 - :after (org) ;; defer t is not enough bc/ ox-extra is not loaded by default + ;; built-in org-contrib + :after (ox) :config ;; https://emacs.stackexchange.com/questions/9492/is-it-possible-to-export-content-of-subtrees-without-their-headings ;; https://emacs.stackexchange.com/questions/44018/use-package-ensure-not-working-package-downloaded-but-gives-warning-and-skips-c - (ox-extras-activate '(ignore-headlines))) ;; see in variable `ox-extras' + (ox-extras-activate '(ignore-headlines))) ;; see available options in variable `ox-extras' (use-package ox-html :defer t ;; will be loaded via `org-export-backends' see above inside `org'