From 8ffee04342c2bb08aa4d13042e97b715537471a3 Mon Sep 17 00:00:00 2001 From: Mark van der Putten Date: Wed, 23 Apr 2025 14:48:19 +0200 Subject: [PATCH] Setup org-node --- elisp/init-org-node.el | 86 ++++++++++++++++++++++++++++++++++++++++ elisp/init-treesitter.el | 56 ++++++++++++++++++++++++++ init.el | 4 +- snippets/org-mode/clock | 6 +++ 4 files changed, 150 insertions(+), 2 deletions(-) create mode 100644 elisp/init-org-node.el create mode 100644 elisp/init-treesitter.el create mode 100644 snippets/org-mode/clock diff --git a/elisp/init-org-node.el b/elisp/init-org-node.el new file mode 100644 index 0000000..bb6107f --- /dev/null +++ b/elisp/init-org-node.el @@ -0,0 +1,86 @@ +;;; init-org-node.el --- summary -*- lexical-binding: t -*- + +;; Author: Mark van der Putten +;; Maintainer: Mark van der Putten +;; Version: version +;; Package-Requires: (dependencies) +;; Homepage: homepage +;; Keywords: keywords + + +;;; Commentary: + +;; Initialize org-node + +;;; Code: + + +(use-package org-node + :ensure t + :after org + :bind (("M-s M-f" . org-node-find) + ("M-s M-i" . org-node-insert-link) + ("M-s M-t" . my/org-node-todo-search) + ("M-s M-s" . org-node-seq-dispatch) + ) + :init + (setq org-node-extra-id-dirs + '("~/Documents/Org-mode/brain")) + :config + (org-node-cache-mode) + + (setq org-capture-templates + '(("i" "Capture into ID node" + plain (function org-node-capture-target) nil + :empty-lines-after 1) + + ("j" "Jump to ID node" + plain (function org-node-capture-target) nil + :jump-to-captured t + :immediate-finish t) + + ;; Sometimes handy after `org-node-insert-link', to + ;; make a stub you plan to fill in later, without + ;; leaving the current buffer for now + ("s" "Make quick stub ID node" + plain (function org-node-capture-target) nil + :immediate-finish t))) + + (defun my/org-node-todo-search () + "Toon alle TODOs uit org-roam-bestanden." + (interactive) + (org-ql-search (org-node-list-files) + '(todo) + :title "TODOs" + :sort '(date) + :super-groups '((:name "Taken" :todo)) + )) + + ;; (defun my/org-node-todo-file-sort () + ;; "Toon alle TODOs uit org-bestanden, gesorteerd op bestandsnaam." + ;; (interactive) + ;; (org-ql-search (org-node-list-files) + ;; '(todo) + ;; :title "TODO's per Bestand" + ;; :sort (lambda (a b) (string< (org-ql-get a 'file) (org-ql-get b 'file))) + ;; :super-groups '((:name (lambda (items) (format "Bestand: %s" (org-ql-get (car items) 'file))) + ;; :all)))) + + ;; (defun my/org-agenda-ql-todos-with-date () + ;; "Toon TODO's met een datum uit Org Roam bestanden in de agenda." + ;; (interactive) + ;; (org-agenda-custom-agenda + ;; '(("TODOs met Datum" + ;; ((org-ql-search (org-node-list-files) + ;; '(:and (todo) (:or deadline scheduled)) + ;; :title "TODOs met Datum" + ;; :sort '(date) + ;; :super-groups '((:name "Vandaag" :date today) + ;; (:name "Binnenkort" :date future) + ;; (:name "Verleden" :date past)))))))) + ) + + +(provide 'init-org-node) + +;;; init-org-node.el ends here diff --git a/elisp/init-treesitter.el b/elisp/init-treesitter.el new file mode 100644 index 0000000..6f0b586 --- /dev/null +++ b/elisp/init-treesitter.el @@ -0,0 +1,56 @@ +;;; init-treesitter.el --- summary -*- lexical-binding: t -*- + +;; Author: Mark van der Putten +;; Maintainer: Mark van der Putten +;; Version: 0.1 +;; Package-Requires: (dependencies) + + +;;; Commentary: + +;; Configure tree-sitter languages + +;;; Code: + +;; tree-sitter-grammars.tree-sitter-rust +;; tree-sitter-grammars.tree-sitter-python +;; tree-sitter-grammars.tree-sitter-nix +;; tree-sitter-grammars.tree-sitter-markdown +;; tree-sitter-grammars.tree-sitter-make +;; tree-sitter-grammars.tree-sitter-lua +;; tree-sitter-grammars.tree-sitter-yaml +;; tree-sitter-grammars.tree-sitter-c +;; tree-sitter-grammars.tree-sitter-sql +;; tree-sitter-grammars.tree-sitter-cpp +;; tree-sitter-grammars.tree-sitter-fish +;; tree-sitter-grammars.tree-sitter-bash +;; tree-sitter-grammars.tree-sitter-regex +;; tree-sitter-grammars.tree-sitter-latex +;; tree-sitter-grammars.tree-sitter-json5 +;; tree-sitter-grammars.tree-sitter-elisp +;; tree-sitter-grammars.tree-sitter-cmake +;; tree-sitter-grammars.tree-sitter-javascript +;; tree-sitter-grammars.tree-sitter-dockerfile +;; tree-sitter-grammars.tree-sitter-devicetree +;; tree-sitter-grammars.tree-sitter-commonlisp +;; tree-sitter-grammars.tree-sitter-vue + +(use-package tree-sitter + :ensure t + ;; :init (global-tree-sitter-mode) + :config + (setq treesit-language-source-alist + '((python . ("https://github.com/tree-sitter/tree-sitter-python")) + (nix . ("https://github.com/nix-communit/tree-sitter-nix")) + (rust . ("https://github.com/tree-sitter/tree-sitter-rust")) + ;; voeg hier meer talen toe + )) + + (mapc #'treesit-install-language-grammar (mapcar #'car treesit-language-source-alist)) + + ) + + +(provide 'init-treesitter) + +;;; init-treesitter.el ends here diff --git a/init.el b/init.el index 25887ac..f3da9e0 100644 --- a/init.el +++ b/init.el @@ -40,7 +40,7 @@ ;; (add-to-list 'warning-suppress-log-types '(unlock-file)) ;; (add-to-list 'warning-suppress-types '(unlock-file)) ;; or -(setq warning-minimum-level :error) +;; (setq warning-minimum-level :error) (defun remove-electric-indent-mode () (setq electric-indent-inhibit t)) @@ -102,7 +102,7 @@ If you experience freezing, decrease this. If you experience stuttering, increa (require 'init-package) (require 'init-org) -(require 'init-org-roam) +(require 'init-org-node) ;; ;; Global Functionalities (require 'init-global-config) diff --git a/snippets/org-mode/clock b/snippets/org-mode/clock new file mode 100644 index 0000000..a538bbf --- /dev/null +++ b/snippets/org-mode/clock @@ -0,0 +1,6 @@ +# -*- mode: org-mode -*- +# name: clock +# key: clock +# -- +#+BEGIN: clocktable :maxlevel 2 :emphasize nil :scope file +#+END: