;;; -*- lexical-binding: t -*- (custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(package-selected-packages '(anki-editor docker docker-compose-mode docker-tramp ejc-sql)) '(sql-connection-alist '(("postgres" (sql-product 'postgres) (sql-user "myuser") (sql-database "mydatabase") (sql-server "localhost") (sql-port 5433))))) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. ) (use-package docker :ensure t :bind ("C-c d" . docker)) ;;(setq sql-postgres-login-params (append sql-postgres-login-params '(port))) (setq org-roam-directory (file-truename "~/org-roam/")) (setq org-roam-node-display-template (concat "${title:*} " (propertize "${tags:10}" 'face 'org-tag))) (org-roam-db-autosync-mode) (setq org-roam-complete-everywhere t) (map! :map org-mode-map :leader (:prefix ("n r" . "roam") :desc "Completion at point" "c" #'completion-at-point)) (defun insert-org-link-with-prompt () "Prompt for description and link, then insert Org-mode style [[link][description]]" (interactive) (let ((link (read-string "Link (first []): ")) (desc (read-string "Description (second []): "))) (insert (format "[[%s][%s]]" link desc)))) (map! :leader :desc "Insert Org link with prompt" "i l" #'insert-org-link-with-prompt) (use-package anki-editor :after org :bind (:map org-mode-map ("" . anki-editor-cloze-region-auto-incr) ("" . anki-editor-cloze-region-dont-incr) ("" . anki-editor-reset-cloze-number) ("" . anki-editor-push-tree)) :hook (org-capture-after-finalize . anki-editor-reset-cloze-number) ; Reset cloze-number after each capture. :config (setq anki-editor-create-decks t ;; Allow anki-editor to create a new deck if it doesn't exist anki-editor-org-tags-as-anki-tags t) (defun anki-editor-cloze-region-auto-incr (&optional arg) "Cloze region without hint and increase card number." (interactive) (anki-editor-cloze-region my-anki-editor-cloze-number "") (setq my-anki-editor-cloze-number (1+ my-anki-editor-cloze-number)) (forward-sexp)) (defun anki-editor-cloze-region-dont-incr (&optional arg) "Cloze region without hint using the previous card number." (interactive) (anki-editor-cloze-region (1- my-anki-editor-cloze-number) "") (forward-sexp)) (defun anki-editor-reset-cloze-number (&optional arg) "Reset cloze number to ARG or 1" (interactive) (setq my-anki-editor-cloze-number (or arg 1))) (defun anki-editor-push-tree () "Push all notes under a tree." (interactive) (anki-editor-push-notes '(4)) (anki-editor-reset-cloze-number)) ;; Initialize (anki-editor-reset-cloze-number) ) (map! :map magit-mode-map :leader (:prefix ("g c a" . "file-checkout") :desc "file checkout from branch" "c" #'magit-file-checkout))