1
0
Fork 0

Compare commits

..

3 commits

Author SHA1 Message Date
9fe6381afd [oni-org] Get rid of any ‘(setf (map-elt ...) ...)’ occurrences
Right now this doesn't seem to work at all... It works fine when I evaluate this
using ‘eval-defun’ or ‘eval-last-sexp’, but when I try to byte-compile it
doesn't work.

I've added my own custom macro that expands to the same thing that
‘(setf (map-elt ...) ...)’ should. I have forgotten how to write macros properly
so I may have made some mistakes.

This should only be temporary until I figure out why this is happening... it
might just be that I'm using a version of Emacs built from a faulty commit.
2023-06-21 00:27:35 -07:00
c36f9ff2f7 [oni-grep] Enable ‘hl-line-mode’ in ‘grep-mode’
This makes it easier to see which line I'm looking at while going through the
hits.
2023-06-15 23:35:12 -07:00
de53fb6f1c [oni-core] Add key to insert lambda 2023-06-15 23:34:57 -07:00
3 changed files with 96 additions and 74 deletions

View file

@ -4,7 +4,7 @@
;; Author: Tom Willemse <tom@ryuslash.org> ;; Author: Tom Willemse <tom@ryuslash.org>
;; Keywords: local ;; Keywords: local
;; Version: 2023.0525.151855 ;; Version: 2023.0615.233447
;; Package-Requires: (oni-data-dir oni-embrace oni-hydra expand-region multiple-cursors gcmh diminish ws-butler which-key insert-char-preview mixed-pitch ace-window vertico marginalia orderless consult embark docstr mini-frame) ;; Package-Requires: (oni-data-dir oni-embrace oni-hydra expand-region multiple-cursors gcmh diminish ws-butler which-key insert-char-preview mixed-pitch ace-window vertico marginalia orderless consult embark docstr mini-frame)
;; This program is free software; you can redistribute it and/or modify ;; This program is free software; you can redistribute it and/or modify
@ -432,6 +432,8 @@ _s_: String list"
(global-set-key (kbd "M-8") (keymap-lookup global-map "C-x 8")) (global-set-key (kbd "M-8") (keymap-lookup global-map "C-x 8"))
(global-set-key (kbd "C-x 8") (lambda () (interactive) (error "Use M-8 instead"))) (global-set-key (kbd "C-x 8") (lambda () (interactive) (error "Use M-8 instead")))
(global-set-key (kbd "M-8 l") "λ")
(defun oni-core-related-files () (defun oni-core-related-files ()
"Return a list of files related to the current buffer." "Return a list of files related to the current buffer."
(let* ((jumpers related-files-jumpers) (let* ((jumpers related-files-jumpers)

View file

@ -4,7 +4,7 @@
;; Author: Tom Willemse <tom@ryuslash.org> ;; Author: Tom Willemse <tom@ryuslash.org>
;; Keywords: local ;; Keywords: local
;; Version: 2021.1123.003553 ;; Version: 2023.0615.232817
;; This program is free software; you can redistribute it and/or modify ;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
@ -47,5 +47,7 @@
(add-to-list 'grep-find-ignored-directories ".cask") (add-to-list 'grep-find-ignored-directories ".cask")
(add-hook 'grep-mode-hook 'hl-line-mode)
(provide 'oni-grep) (provide 'oni-grep)
;;; oni-grep.el ends here ;;; oni-grep.el ends here

View file

@ -4,7 +4,7 @@
;; Author: Tom Willemse <tom@ryuslash.org> ;; Author: Tom Willemse <tom@ryuslash.org>
;; Keywords: local ;; Keywords: local
;; Version: 2023.0613.234632 ;; Version: 2023.0621.002708
;; Package-Requires: (oni-yasnippet oni-alert oni-hydra org org-bullets org-edna diminish all-the-icons olivetti form-feed org-pretty-table) ;; Package-Requires: (oni-yasnippet oni-alert oni-hydra org org-bullets org-edna diminish all-the-icons olivetti form-feed org-pretty-table)
;; This program is free software; you can redistribute it and/or modify ;; This program is free software; you can redistribute it and/or modify
@ -1162,100 +1162,118 @@ This is done by adding a :hidden t header argument to the code block."
,(/ (length text) 2))))) ,(/ (length text) 2)))))
text)) text))
(setf (map-elt org-agenda-custom-commands "o") (defmacro oni-org--map-put (collection key value)
'("Overview" ((tags-todo "TODO=\"WAITING\"" "The result of (setf (map-elt ...) ...) on a list.
((org-agenda-overriding-header (oni-org--center-align "Waiting")))) Trying to byte-compile the above form doesn't work at the moment.
(tags-todo "TODO=\"WIP\"" This is a temporary hack to make sure I don't have to repeat this
((org-agenda-overriding-header (oni-org--center-align "In Progress")))) same code all the time."
(agenda "" ((org-agenda-span 'day))) (declare (indent 2))
(tags-todo "TODO=\"TODO\"+#todo" (let ((key-name (gensym))
((org-agenda-max-todos 10) (value-name (gensym)))
(org-agenda-overriding-header (oni-org--center-align "To Do")))) `(let ((,key-name ,key)
(tags-todo "TODO=\"TODO\"+#reading" (,value-name ,value))
((org-agenda-max-todos 5) (condition-case nil
(org-agenda-overriding-header (oni-org--center-align "Read")))) (with-no-warnings
(tags-todo "TODO=\"TODO\"+#watching" (map-put! ,collection ,key-name ,value-name nil))
((org-agenda-max-todos 5) (map-not-inplace
(org-agenda-overriding-header (oni-org--center-align "Watch")))) (setq ,collection
(tags-todo "TODO=\"TODO\"+#listening" (map-insert ,collection ,key-name ,value-name))
((org-agenda-max-todos 5) ,value-name)))))
(org-agenda-overriding-header (oni-org--center-align "Listen")))))))
(setf (map-elt org-agenda-custom-commands "t") (oni-org--map-put org-agenda-custom-commands "o"
'("To Do" ((tags-todo "TODO=\"WAITING\"+#todo" '("Overview" ((tags-todo "TODO=\"WAITING\""
((org-agenda-overriding-header (oni-org--center-align "Waiting To Do")))) ((org-agenda-overriding-header (oni-org--center-align "Waiting"))))
(tags-todo "TODO=\"WIP\"+#todo" (tags-todo "TODO=\"WIP\""
((org-agenda-overriding-header (oni-org--center-align "Doing")))) ((org-agenda-overriding-header (oni-org--center-align "In Progress"))))
(tags-todo "TODO=\"TODO\"+#todo" (agenda "" ((org-agenda-span 'day)))
((org-agenda-overriding-header (oni-org--center-align "To Do"))))))) (tags-todo "TODO=\"TODO\"+#todo"
((org-agenda-max-todos 10)
(org-agenda-overriding-header (oni-org--center-align "To Do"))))
(tags-todo "TODO=\"TODO\"+#reading"
((org-agenda-max-todos 5)
(org-agenda-overriding-header (oni-org--center-align "Read"))))
(tags-todo "TODO=\"TODO\"+#watching"
((org-agenda-max-todos 5)
(org-agenda-overriding-header (oni-org--center-align "Watch"))))
(tags-todo "TODO=\"TODO\"+#listening"
((org-agenda-max-todos 5)
(org-agenda-overriding-header (oni-org--center-align "Listen")))))))
(setf (map-elt org-agenda-custom-commands "r") (oni-org--map-put org-agenda-custom-commands "t"
'("Reading" ((tags-todo "TODO=\"WAITING\"+#reading" '("To Do" ((tags-todo "TODO=\"WAITING\"+#todo"
((org-agenda-overriding-header (oni-org--center-align "Waiting To Read")))) ((org-agenda-overriding-header (oni-org--center-align "Waiting To Do"))))
(tags-todo "TODO=\"WIP\"+#reading" (tags-todo "TODO=\"WIP\"+#todo"
((org-agenda-overriding-header (oni-org--center-align "Reading")))) ((org-agenda-overriding-header (oni-org--center-align "Doing"))))
(tags-todo "TODO=\"TODO\"+#reading" (tags-todo "TODO=\"TODO\"+#todo"
((org-agenda-overriding-header (oni-org--center-align "To Read"))))))) ((org-agenda-overriding-header (oni-org--center-align "To Do")))))))
(setf (map-elt org-agenda-custom-commands "w") (oni-org--map-put org-agenda-custom-commands "r"
'("Watching" ((tags-todo "TODO=\"WAITING\"+#watching" '("Reading" ((tags-todo "TODO=\"WAITING\"+#reading"
((org-agenda-overriding-header (oni-org--center-align "Waiting To Watch")))) ((org-agenda-overriding-header (oni-org--center-align "Waiting To Read"))))
(tags-todo "TODO=\"WIP\"+#watching" (tags-todo "TODO=\"WIP\"+#reading"
((org-agenda-overriding-header (oni-org--center-align "Watching")))) ((org-agenda-overriding-header (oni-org--center-align "Reading"))))
(tags-todo "TODO=\"TODO\"+#watching" (tags-todo "TODO=\"TODO\"+#reading"
((org-agenda-overriding-header (oni-org--center-align "To Watch"))))))) ((org-agenda-overriding-header (oni-org--center-align "To Read")))))))
(setf (map-elt org-agenda-custom-commands "l") (oni-org--map-put org-agenda-custom-commands "w"
'("Listening" ((tags-todo "TODO=\"WAITING\"+#listening" '("Watching" ((tags-todo "TODO=\"WAITING\"+#watching"
((org-agenda-overriding-header (oni-org--center-align "Waiting To Listen To")))) ((org-agenda-overriding-header (oni-org--center-align "Waiting To Watch"))))
(tags-todo "TODO=\"WIP\"+#listening" (tags-todo "TODO=\"WIP\"+#watching"
((org-agenda-overriding-header (oni-org--center-align "Listening")))) ((org-agenda-overriding-header (oni-org--center-align "Watching"))))
(tags-todo "TODO=\"TODO\"+#listening" (tags-todo "TODO=\"TODO\"+#watching"
((org-agenda-overriding-header (oni-org--center-align "To Listen To"))))))) ((org-agenda-overriding-header (oni-org--center-align "To Watch")))))))
(setf (map-elt org-capture-templates "sE") (oni-org--map-put org-agenda-custom-commands "l"
'("Questions for Emacs packages" plain (function ignore) '("Listening" ((tags-todo "TODO=\"WAITING\"+#listening"
"- Do I want to integrate this in my configuration? ((org-agenda-overriding-header (oni-org--center-align "Waiting To Listen To"))))
(tags-todo "TODO=\"WIP\"+#listening"
((org-agenda-overriding-header (oni-org--center-align "Listening"))))
(tags-todo "TODO=\"TODO\"+#listening"
((org-agenda-overriding-header (oni-org--center-align "To Listen To")))))))
(oni-org--map-put org-capture-templates "sE"
'("Questions for Emacs packages" plain (function ignore)
"- Do I want to integrate this in my configuration?
- %? - %?
- What will it add / What advantage will it bring? - What will it add / What advantage will it bring?
- -
- How would I integrate it with my config? - How would I integrate it with my config?
- " - "
:empty-lines 1 :empty-lines 1
:immediate-finish t :immediate-finish t
:jump-to-captured t)) :jump-to-captured t))
(setf (map-elt org-capture-templates-contexts "sE") (oni-org--map-put org-capture-templates-contexts "sE"
'(((in-mode . "org-mode")))) '(((in-mode . "org-mode"))))
(setf (map-elt org-capture-templates "se") (oni-org--map-put org-capture-templates "se"
'("Questions for Emacs articles" plain (function ignore) '("Questions for Emacs articles" plain (function ignore)
"- What can I add to my config from this? "- What can I add to my config from this?
- %?" - %?"
:empty-lines 1 :empty-lines 1
:immediate-finish t :immediate-finish t
:jump-to-captured t)) :jump-to-captured t))
(setf (map-elt org-capture-templates-contexts "se") (oni-org--map-put org-capture-templates-contexts "se"
'(((in-mode . "org-mode")))) '(((in-mode . "org-mode"))))
(setf (map-elt org-capture-templates "s") (oni-org--map-put org-capture-templates "s"
'("Snippets")) '("Snippets"))
(setf (map-elt org-capture-templates-contexts "s") (oni-org--map-put org-capture-templates-contexts "s"
'(((in-mode . "org-mode")))) '(((in-mode . "org-mode"))))
(setf (map-elt org-capture-templates "t") (oni-org--map-put org-capture-templates "t"
'("A simple TODO item." entry (file "") "* TODO %? '("A simple TODO item." entry (file "") "* TODO %?
:PROPERTIES: :PROPERTIES:
:CREATED: %U :CREATED: %U
:END:")) :END:"))
(setf (map-elt org-capture-templates "U") (oni-org--map-put org-capture-templates "U"
'("A TODO capture from the browser." entry (file "") "* TODO %:description '("A TODO capture from the browser." entry (file "") "* TODO %:description
:PROPERTIES: :PROPERTIES:
:CREATED: %U :CREATED: %U
:END: :END:
%:link" %:link"
:immediate-finish t)) :immediate-finish t))
(provide 'oni-org) (provide 'oni-org)
;;; oni-org.el ends here ;;; oni-org.el ends here