diff options
| -rw-r--r-- | .builds/repo.yml | 13 | ||||
| -rw-r--r-- | .gitignore | 4 | ||||
| -rw-r--r-- | GNUmakefile | 533 | ||||
| -rw-r--r-- | manifest.scm | 11 | ||||
| -rw-r--r-- | oni-bats.el (renamed from oni-bats/oni-bats.el) | 19 | ||||
| -rw-r--r-- | oni-browse-url.el | 6 | ||||
| -rw-r--r-- | oni-compilation.el | 4 | ||||
| -rw-r--r-- | oni-conf.el (renamed from oni-conf/oni-conf.el) | 19 | ||||
| -rw-r--r-- | oni-conf/Eldev | 13 | ||||
| -rw-r--r-- | oni-core.el | 9 | ||||
| -rw-r--r-- | oni-corfu.el | 41 | ||||
| -rw-r--r-- | oni-csharp.el (renamed from oni-csharp/oni-csharp.el) | 19 | ||||
| -rw-r--r-- | oni-css.el (renamed from oni-css/oni-css.el) | 19 | ||||
| -rw-r--r-- | oni-css/Eldev | 13 | ||||
| -rw-r--r-- | oni-dired.el | 4 | ||||
| -rw-r--r-- | oni-dumb-jump.el | 33 | ||||
| -rw-r--r-- | oni-elfeed.el | 10 | ||||
| -rw-r--r-- | oni-elisp.el (renamed from oni-elisp/oni-elisp.el) | 19 | ||||
| -rw-r--r-- | oni-elisp/Eldev | 13 | ||||
| -rw-r--r-- | oni-eshell.el | 5 | ||||
| -rw-r--r-- | oni-eww.el | 5 | ||||
| -rw-r--r-- | oni-flycheck.el | 4 | ||||
| -rw-r--r-- | oni-gui/Eldev (renamed from oni-csharp/Eldev) | 5 | ||||
| -rw-r--r-- | oni-gui/icons/wakatime.svg | 4 | ||||
| -rw-r--r-- | oni-gui/oni-gui.el | 16 | ||||
| -rw-r--r-- | oni-haml.el (renamed from oni-haml/oni-haml.el) | 19 | ||||
| -rw-r--r-- | oni-haml/Eldev | 13 | ||||
| -rw-r--r-- | oni-html.el (renamed from oni-html/oni-html.el) | 19 | ||||
| -rw-r--r-- | oni-html/Eldev | 13 | ||||
| -rw-r--r-- | oni-logview.el | 38 | ||||
| -rw-r--r-- | oni-magit.el | 22 | ||||
| -rw-r--r-- | oni-nxml.el (renamed from oni-nxml/oni-nxml.el) | 20 | ||||
| -rw-r--r-- | oni-nxml/Eldev | 13 | ||||
| -rw-r--r-- | oni-org/Eldev | 7 | ||||
| -rw-r--r-- | oni-org/capture-templates/laundry.org | 23 | ||||
| -rw-r--r-- | oni-org/capture-templates/morning-checklist-bedding.org | 5 | ||||
| -rw-r--r-- | oni-org/capture-templates/morning-checklist-trash.org | 5 | ||||
| -rw-r--r-- | oni-org/capture-templates/morning-checklist.org | 15 | ||||
| -rw-r--r-- | oni-org/oni-org.el | 148 | ||||
| -rw-r--r-- | oni-outline.el | 38 | ||||
| -rw-r--r-- | oni-php/Eldev | 4 | ||||
| -rw-r--r-- | oni-php/oni-php.el | 181 | ||||
| -rwxr-xr-x | oni-php/scripts/find-php-class | 5 | ||||
| -rw-r--r-- | oni-php/snippets/php-mode/namespace | 9 | ||||
| -rw-r--r-- | oni-project.el | 4 | ||||
| -rw-r--r-- | oni-python.el (renamed from oni-python/oni-python.el) | 19 | ||||
| -rw-r--r-- | oni-python/Eldev | 13 | ||||
| -rw-r--r-- | oni-ruby.el (renamed from oni-ruby/oni-ruby.el) | 20 | ||||
| -rw-r--r-- | oni-ruby/Eldev | 13 | ||||
| -rw-r--r-- | oni-scheme.el | 41 | ||||
| -rw-r--r-- | oni-sql.el | 43 | ||||
| -rw-r--r-- | oni-twig.el (renamed from oni-twig/oni-twig.el) | 20 | ||||
| -rw-r--r-- | oni-twig/Eldev | 13 | ||||
| -rw-r--r-- | oni-yasnippet/Eldev (renamed from oni-bats/Eldev) | 4 | ||||
| -rw-r--r-- | oni-yasnippet/oni-yasnippet.el (renamed from oni-yasnippet.el) | 17 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/bats-mode/test (renamed from oni-bats/snippets/bats-mode/test) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/conf-mode/section (renamed from oni-conf/snippets/conf-mode/section) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/csharp-mode/testm (renamed from oni-csharp/snippets/csharp-mode/testm) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/css-mode/box-shadow (renamed from oni-css/snippets/css-mode/box-shadow) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/emacs-lisp-mode/cookie (renamed from oni-elisp/snippets/emacs-lisp-mode/cookie) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/emacs-lisp-mode/depends-on (renamed from oni-elisp/snippets/emacs-lisp-mode/depends-on) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/emacs-lisp-mode/depends-on-git (renamed from oni-elisp/snippets/emacs-lisp-mode/depends-on-git) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/emacs-lisp-mode/face (renamed from oni-elisp/snippets/emacs-lisp-mode/face) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/haml-mode/faq (renamed from oni-haml/snippets/haml-mode/faq) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/html-mode/block (renamed from oni-html/snippets/html-mode/block) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/html-mode/for (renamed from oni-html/snippets/html-mode/for) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/html-mode/generic-block (renamed from oni-html/snippets/html-mode/generic-block) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/html-mode/script (renamed from oni-html/snippets/html-mode/script) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/html-mode/trans-with-cap (renamed from oni-html/snippets/html-mode/trans-with-cap) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/nxml-mode/Import (renamed from oni-csharp/snippets/nxml-mode/Import) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/nxml-mode/pencil-property (renamed from oni-nxml/snippets/nxml-mode/pencil-property) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/nxml-mode/pencil-property-value (renamed from oni-nxml/snippets/nxml-mode/pencil-property-value) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/nxml-mode/pencil-shortcut (renamed from oni-nxml/snippets/nxml-mode/pencil-shortcut) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/org-mode/codeblock (renamed from oni-org/snippets/org-mode/codeblock) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/org-mode/heading (renamed from oni-org/snippets/org-mode/heading) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/org-mode/project (renamed from oni-org/snippets/org-mode/project) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/org-mode/snippet (renamed from oni-org/snippets/org-mode/snippet) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/org-mode/task (renamed from oni-org/snippets/org-mode/task) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/php-mode/arrow-function (renamed from oni-php/snippets/php-mode/arrow-function) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/php-mode/casts (renamed from oni-php/snippets/php-mode/casts) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/php-mode/class | 8 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/php-mode/constructor (renamed from oni-php/snippets/php-mode/constructor) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/php-mode/factory | 6 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/php-mode/for (renamed from oni-php/snippets/php-mode/for) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/php-mode/function-expression (renamed from oni-php/snippets/php-mode/function-expression) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/php-mode/function-statement (renamed from oni-php/snippets/php-mode/function-statement) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/php-mode/if-statement (renamed from oni-php/snippets/php-mode/if-statement) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/php-mode/logger-debug (renamed from oni-php/snippets/php-mode/logged-debug) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/php-mode/logger-error | 5 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/php-mode/logger-info (renamed from oni-php/snippets/php-mode/logger-info) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/php-mode/logger-warning | 5 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/php-mode/mark-test-skipped | 6 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/php-mode/namespace | 5 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/php-mode/php (renamed from oni-php/snippets/php-mode/php) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/php-mode/phpstan-ignore | 5 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/php-mode/strict-types (renamed from oni-php/snippets/php-mode/strict-types) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/php-mode/test-class (renamed from oni-php/snippets/php-mode/test-class) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/php-mode/test-comment (renamed from oni-php/snippets/php-mode/test-comment) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/php-mode/test-name (renamed from oni-php/snippets/php-mode/test-name) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/php-mode/todo-comment | 5 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/php-mode/var (renamed from oni-php/snippets/php-mode/var) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/php-mode/wpheader.php (renamed from oni-php/snippets/php-mode/wpheader.php) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/php-ts-mode/.yas-parents | 1 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/python-mode/defm_empty (renamed from oni-python/snippets/python-mode/defm_empty) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/python-mode/form (renamed from oni-python/snippets/python-mode/form) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/python-mode/form_valid (renamed from oni-python/snippets/python-mode/form_valid) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/python-mode/form_valid_with_return (renamed from oni-python/snippets/python-mode/form_valid_with_return) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/python-mode/import_from (renamed from oni-python/snippets/python-mode/import_from) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/python-mode/method (renamed from oni-python/snippets/python-mode/method) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/python-mode/permission_guard (renamed from oni-python/snippets/python-mode/permission_guard) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/python-mode/url (renamed from oni-python/snippets/python-mode/url) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/ruby-mode/ProductSeed (renamed from oni-ruby/snippets/ruby-mode/ProductSeed) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/ruby-mode/ProductSeedHW (renamed from oni-ruby/snippets/ruby-mode/ProductSeedHW) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/ruby-mode/ProductSeedHWGroup (renamed from oni-ruby/snippets/ruby-mode/ProductSeedHWGroup) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/ruby-mode/describe (renamed from oni-ruby/snippets/ruby-mode/describe) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/ruby-mode/do (renamed from oni-ruby/snippets/ruby-mode/do) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/ruby-mode/factory (renamed from oni-ruby/snippets/ruby-mode/factory) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/ruby-mode/fill_in (renamed from oni-ruby/snippets/ruby-mode/fill_in) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/ruby-mode/mod (renamed from oni-ruby/snippets/ruby-mode/mod) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/ruby-mode/reduce (renamed from oni-ruby/snippets/ruby-mode/reduce) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/twig-mode/_self (renamed from oni-twig/snippets/twig-mode/_self) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/twig-mode/blk (renamed from oni-twig/snippets/twig-mode/blk) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/twig-mode/def (renamed from oni-twig/snippets/twig-mode/def) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/twig-mode/ext (renamed from oni-twig/snippets/twig-mode/ext) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/twig-mode/for (renamed from oni-twig/snippets/twig-mode/for) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/twig-mode/if (renamed from oni-twig/snippets/twig-mode/if) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/twig-mode/ife (renamed from oni-twig/snippets/twig-mode/ife) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/twig-mode/iif (renamed from oni-twig/snippets/twig-mode/iif) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/twig-mode/imp (renamed from oni-twig/snippets/twig-mode/imp) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/twig-mode/mac (renamed from oni-twig/snippets/twig-mode/mac) | 0 | ||||
| -rw-r--r-- | oni-yasnippet/snippets/twig-mode/set (renamed from oni-twig/snippets/twig-mode/set) | 0 |
131 files changed, 931 insertions, 760 deletions
diff --git a/.builds/repo.yml b/.builds/repo.yml new file mode 100644 index 0000000..8d52f50 --- /dev/null +++ b/.builds/repo.yml @@ -0,0 +1,13 @@ +--- +image: guix +oauth: pages.sr.ht/PAGES:RW +tasks: + - guix: | + cd emacs-config + guix package --verbosity=0 --manifest=manifest.scm + - package: | + cd emacs-config + make + - upload: | + cd emacs-config + hut pages publish -d ryuslash.srht.site -s emacs-config emacs-config.tar.gz @@ -1,5 +1,5 @@ -/*/.cask/ -/*/bin/ +/public + /*/dist/ /*/.eldev/ diff --git a/GNUmakefile b/GNUmakefile index fb20f5b..26d4f34 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -1,3 +1,5 @@ +OUTDIR := public/packages + define GUILE_MODULE (use-modules (ice-9 rdelim) (ice-9 ports) @@ -38,7 +40,7 @@ define upload = --eval "(setq package-user-dir \"local-elpa/\")" \ --load oni-package.el \ --funcall package-initialize \ - --eval "(let ((package-archive-upload-base \"bin/\")) \ + --eval "(let ((package-archive-upload-base \"$(OUTDIR)/\")) \ (mkdir package-archive-upload-base t) \ (package-upload-file $1))" endef @@ -48,92 +50,100 @@ define upload-multi-file = endef package: \ - bin/$(guile (get-module-version "oni-alert")) \ - bin/$(guile (get-module-version "oni-autohotkey")) \ - bin/$(guile (get-module-version "oni-bat")) \ - bin/$(guile (get-multifile-module-version "oni-bats")) \ - bin/$(guile (get-module-version "oni-bookmark")) \ - bin/$(guile (get-module-version "oni-browse-url")) \ - bin/$(guile (get-module-version "oni-c")) \ - bin/$(guile (get-module-version "oni-circe")) \ - bin/$(guile (get-module-version "oni-clojure")) \ - bin/$(guile (get-module-version "oni-cmake")) \ - bin/$(guile (get-module-version "oni-common-lisp")) \ - bin/$(guile (get-module-version "oni-company")) \ - bin/$(guile (get-module-version "oni-compilation")) \ - bin/$(guile (get-multifile-module-version "oni-conf")) \ - bin/$(guile (get-module-version "oni-core")) \ - bin/$(guile (get-module-version "oni-counsel")) \ - bin/$(guile (get-module-version "oni-cpp")) \ - bin/$(guile (get-multifile-module-version "oni-csharp")) \ - bin/$(guile (get-multifile-module-version "oni-css")) \ - bin/$(guile (get-module-version "oni-data-dir")) \ - bin/$(guile (get-module-version "oni-diff-hl")) \ - bin/$(guile (get-module-version "oni-dired")) \ - bin/$(guile (get-module-version "oni-docker")) \ - bin/$(guile (get-module-version "oni-ediff")) \ - bin/$(guile (get-module-version "oni-elfeed")) \ - bin/$(guile (get-multifile-module-version "oni-elisp")) \ - bin/$(guile (get-module-version "oni-elm")) \ - bin/$(guile (get-module-version "oni-embrace")) \ - bin/$(guile (get-module-version "oni-emms")) \ - bin/$(guile (get-module-version "oni-epub")) \ - bin/$(guile (get-module-version "oni-eshell")) \ - bin/$(guile (get-module-version "oni-eww")) \ - bin/$(guile (get-module-version "oni-fish")) \ - bin/$(guile (get-module-version "oni-flycheck")) \ - bin/$(guile (get-module-version "oni-git-commit")) \ - bin/$(guile (get-module-version "oni-gnus")) \ - bin/$(guile (get-module-version "oni-grep")) \ - bin/$(guile (get-module-version "oni-groovy")) \ - bin/$(guile (get-module-version "oni-gui")) \ - bin/$(guile (get-multifile-module-version "oni-haml")) \ - bin/$(guile (get-module-version "oni-haskell")) \ - bin/$(guile (get-module-version "oni-highlight-indent-guides")) \ - bin/$(guile (get-multifile-module-version "oni-html")) \ - bin/$(guile (get-module-version "oni-hydra")) \ - bin/$(guile (get-module-version "oni-ivy")) \ - bin/$(guile (get-module-version "oni-jabber")) \ - bin/$(guile (get-module-version "oni-java")) \ - bin/$(guile (get-module-version "oni-js")) \ - bin/$(guile (get-module-version "oni-json")) \ - bin/$(guile (get-module-version "oni-log-edit")) \ - bin/$(guile (get-module-version "oni-lsp")) \ - bin/$(guile (get-module-version "oni-lua")) \ - bin/$(guile (get-module-version "oni-lui")) \ - bin/$(guile (get-module-version "oni-magit")) \ - bin/$(guile (get-module-version "oni-makefile")) \ - bin/$(guile (get-module-version "oni-notmuch")) \ - bin/$(guile (get-multifile-module-version "oni-nxml")) \ - bin/$(guile (get-multifile-module-version "oni-org")) \ - bin/$(guile (get-module-version "oni-org-roam")) \ - bin/$(guile (get-module-version "oni-package")) \ - bin/$(guile (get-module-version "oni-paredit")) \ - bin/$(guile (get-multifile-module-version "oni-php")) \ - bin/$(guile (get-module-version "oni-powershell")) \ - bin/$(guile (get-module-version "oni-prescient")) \ - bin/$(guile (get-module-version "oni-projectile")) \ - bin/$(guile (get-multifile-module-version "oni-python")) \ - bin/$(guile (get-multifile-module-version "oni-ruby")) \ - bin/$(guile (get-module-version "oni-rust")) \ - bin/$(guile (get-module-version "oni-scheme")) \ - bin/$(guile (get-module-version "oni-shackle")) \ - bin/$(guile (get-module-version "oni-sh")) \ - bin/$(guile (get-module-version "oni-shr")) \ - bin/$(guile (get-module-version "oni-slack")) \ - bin/$(guile (get-module-version "oni-smartparens")) \ - bin/$(guile (get-module-version "oni-smt")) \ - bin/$(guile (get-module-version "oni-sort")) \ - bin/$(guile (get-module-version "oni-termux")) \ - bin/$(guile (get-module-version "oni-tramp")) \ - bin/$(guile (get-module-version "oni-tui")) \ - bin/$(guile (get-multifile-module-version "oni-twig")) \ - bin/$(guile (get-module-version "oni-ui")) \ - bin/$(guile (get-module-version "oni-vc")) \ - bin/$(guile (get-module-version "oni-vterm")) \ - bin/$(guile (get-module-version "oni-web")) \ - bin/$(guile (get-module-version "oni-yaml")) \ - bin/$(guile (get-module-version "oni-yasnippet")) \ + $(OUTDIR)/$(guile (get-module-version "oni-alert")) \ + $(OUTDIR)/$(guile (get-module-version "oni-autohotkey")) \ + $(OUTDIR)/$(guile (get-module-version "oni-bat")) \ + $(OUTDIR)/$(guile (get-module-version "oni-bats")) \ + $(OUTDIR)/$(guile (get-module-version "oni-bookmark")) \ + $(OUTDIR)/$(guile (get-module-version "oni-browse-url")) \ + $(OUTDIR)/$(guile (get-module-version "oni-c")) \ + $(OUTDIR)/$(guile (get-module-version "oni-circe")) \ + $(OUTDIR)/$(guile (get-module-version "oni-clojure")) \ + $(OUTDIR)/$(guile (get-module-version "oni-cmake")) \ + $(OUTDIR)/$(guile (get-module-version "oni-common-lisp")) \ + $(OUTDIR)/$(guile (get-module-version "oni-company")) \ + $(OUTDIR)/$(guile (get-module-version "oni-compilation")) \ + $(OUTDIR)/$(guile (get-module-version "oni-conf")) \ + $(OUTDIR)/$(guile (get-module-version "oni-core")) \ + $(OUTDIR)/$(guile (get-module-version "oni-corfu")) \ + $(OUTDIR)/$(guile (get-module-version "oni-counsel")) \ + $(OUTDIR)/$(guile (get-module-version "oni-cpp")) \ + $(OUTDIR)/$(guile (get-module-version "oni-csharp")) \ + $(OUTDIR)/$(guile (get-module-version "oni-css")) \ + $(OUTDIR)/$(guile (get-module-version "oni-data-dir")) \ + $(OUTDIR)/$(guile (get-module-version "oni-diff-hl")) \ + $(OUTDIR)/$(guile (get-module-version "oni-dired")) \ + $(OUTDIR)/$(guile (get-module-version "oni-docker")) \ + $(OUTDIR)/$(guile (get-module-version "oni-ediff")) \ + $(OUTDIR)/$(guile (get-module-version "oni-elfeed")) \ + $(OUTDIR)/$(guile (get-module-version "oni-elisp")) \ + $(OUTDIR)/$(guile (get-module-version "oni-elm")) \ + $(OUTDIR)/$(guile (get-module-version "oni-embrace")) \ + $(OUTDIR)/$(guile (get-module-version "oni-emms")) \ + $(OUTDIR)/$(guile (get-module-version "oni-epub")) \ + $(OUTDIR)/$(guile (get-module-version "oni-eshell")) \ + $(OUTDIR)/$(guile (get-module-version "oni-eww")) \ + $(OUTDIR)/$(guile (get-module-version "oni-fish")) \ + $(OUTDIR)/$(guile (get-module-version "oni-flycheck")) \ + $(OUTDIR)/$(guile (get-module-version "oni-git-commit")) \ + $(OUTDIR)/$(guile (get-module-version "oni-gnus")) \ + $(OUTDIR)/$(guile (get-module-version "oni-grep")) \ + $(OUTDIR)/$(guile (get-module-version "oni-groovy")) \ + $(OUTDIR)/$(guile (get-multifile-module-version "oni-gui")) \ + $(OUTDIR)/$(guile (get-module-version "oni-haml")) \ + $(OUTDIR)/$(guile (get-module-version "oni-haskell")) \ + $(OUTDIR)/$(guile (get-module-version "oni-highlight-indent-guides")) \ + $(OUTDIR)/$(guile (get-module-version "oni-html")) \ + $(OUTDIR)/$(guile (get-module-version "oni-hydra")) \ + $(OUTDIR)/$(guile (get-module-version "oni-ivy")) \ + $(OUTDIR)/$(guile (get-module-version "oni-jabber")) \ + $(OUTDIR)/$(guile (get-module-version "oni-java")) \ + $(OUTDIR)/$(guile (get-module-version "oni-js")) \ + $(OUTDIR)/$(guile (get-module-version "oni-json")) \ + $(OUTDIR)/$(guile (get-module-version "oni-log-edit")) \ + $(OUTDIR)/$(guile (get-module-version "oni-lsp")) \ + $(OUTDIR)/$(guile (get-module-version "oni-lua")) \ + $(OUTDIR)/$(guile (get-module-version "oni-lui")) \ + $(OUTDIR)/$(guile (get-module-version "oni-magit")) \ + $(OUTDIR)/$(guile (get-module-version "oni-makefile")) \ + $(OUTDIR)/$(guile (get-module-version "oni-notmuch")) \ + $(OUTDIR)/$(guile (get-module-version "oni-nxml")) \ + $(OUTDIR)/$(guile (get-multifile-module-version "oni-org")) \ + $(OUTDIR)/$(guile (get-module-version "oni-org-roam")) \ + $(OUTDIR)/$(guile (get-module-version "oni-outline")) \ + $(OUTDIR)/$(guile (get-module-version "oni-package")) \ + $(OUTDIR)/$(guile (get-module-version "oni-paredit")) \ + $(OUTDIR)/$(guile (get-multifile-module-version "oni-php")) \ + $(OUTDIR)/$(guile (get-module-version "oni-powershell")) \ + $(OUTDIR)/$(guile (get-module-version "oni-prescient")) \ + $(OUTDIR)/$(guile (get-module-version "oni-projectile")) \ + $(OUTDIR)/$(guile (get-module-version "oni-python")) \ + $(OUTDIR)/$(guile (get-module-version "oni-ruby")) \ + $(OUTDIR)/$(guile (get-module-version "oni-rust")) \ + $(OUTDIR)/$(guile (get-module-version "oni-scheme")) \ + $(OUTDIR)/$(guile (get-module-version "oni-shackle")) \ + $(OUTDIR)/$(guile (get-module-version "oni-sh")) \ + $(OUTDIR)/$(guile (get-module-version "oni-shr")) \ + $(OUTDIR)/$(guile (get-module-version "oni-slack")) \ + $(OUTDIR)/$(guile (get-module-version "oni-smartparens")) \ + $(OUTDIR)/$(guile (get-module-version "oni-smt")) \ + $(OUTDIR)/$(guile (get-module-version "oni-sort")) \ + $(OUTDIR)/$(guile (get-module-version "oni-termux")) \ + $(OUTDIR)/$(guile (get-module-version "oni-tramp")) \ + $(OUTDIR)/$(guile (get-module-version "oni-tui")) \ + $(OUTDIR)/$(guile (get-module-version "oni-twig")) \ + $(OUTDIR)/$(guile (get-module-version "oni-ui")) \ + $(OUTDIR)/$(guile (get-module-version "oni-vc")) \ + $(OUTDIR)/$(guile (get-module-version "oni-vterm")) \ + $(OUTDIR)/$(guile (get-module-version "oni-web")) \ + $(OUTDIR)/$(guile (get-module-version "oni-yaml")) \ + $(OUTDIR)/$(guile (get-multifile-module-version "oni-yasnippet")) + cd public && tar cvzf ../emacs-config.tar.gz . + +clean: + rm -rfv .eldev public + find . -type d -name '.eldev' -exec rm -rv '{}' \; + find . -type d -name 'dist' -exec rm -rv '{}' \; install-%: emacs --batch \ @@ -157,339 +167,299 @@ integration-test-%: install-% ## Single-file packages -bin/$(guile (get-module-version "oni-yasnippet")): oni-yasnippet.el +$(OUTDIR)/$(guile (get-module-version "oni-smartparens")): oni-smartparens.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-smartparens")): oni-smartparens.el +$(OUTDIR)/$(guile (get-module-version "oni-flycheck")): oni-flycheck.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-flycheck")): oni-flycheck.el +$(OUTDIR)/$(guile (get-module-version "oni-sh")): oni-sh.el \ + $(OUTDIR)/$(guile (get-module-version "oni-smartparens")) \ + $(OUTDIR)/$(guile (get-module-version "oni-flycheck")) $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-sh")): oni-sh.el \ - bin/$(guile (get-module-version "oni-smartparens")) \ - bin/$(guile (get-module-version "oni-flycheck")) +$(OUTDIR)/$(guile (get-module-version "oni-company")): oni-company.el \ + $(OUTDIR)/$(guile (get-module-version "oni-prescient")) $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-company")): oni-company.el \ - bin/$(guile (get-module-version "oni-prescient")) +$(OUTDIR)/$(guile (get-module-version "oni-compilation")): oni-compilation.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-compilation")): oni-compilation.el +$(OUTDIR)/$(guile (get-module-version "oni-conf")): oni-conf.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-core")): oni-core.el +$(OUTDIR)/$(guile (get-module-version "oni-core")): oni-core.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-counsel")): oni-counsel.el +$(OUTDIR)/$(guile (get-module-version "oni-corfu")): oni-corfu.el \ + $(OUTDIR)/$(guile (get-module-version "oni-prescient")) $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-cpp")): oni-cpp.el +$(OUTDIR)/$(guile (get-module-version "oni-counsel")): oni-counsel.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-prescient")): oni-prescient.el \ - bin/$(guile (get-module-version "oni-data-dir")) +$(OUTDIR)/$(guile (get-module-version "oni-cpp")): oni-cpp.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-data-dir")): oni-data-dir.el +$(OUTDIR)/$(guile (get-module-version "oni-csharp")): oni-csharp.el \ + $(OUTDIR)/$(guile (get-module-version "oni-company")) \ + $(OUTDIR)/$(guile (get-module-version "oni-flycheck")) \ + $(OUTDIR)/$(guile (get-module-version "oni-hydra")) \ + $(OUTDIR)/$(guile (get-module-version "oni-lsp")) \ + $(OUTDIR)/$(guile (get-module-version "oni-smartparens")) $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-diff-hl")): oni-diff-hl.el +$(OUTDIR)/$(guile (get-module-version "oni-css")): oni-css.el \ + $(OUTDIR)/$(guile (get-module-version "oni-company")) \ + $(OUTDIR)/$(guile (get-module-version "oni-hydra")) $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-dired")): oni-dired.el +$(OUTDIR)/$(guile (get-module-version "oni-prescient")): oni-prescient.el \ + $(OUTDIR)/$(guile (get-module-version "oni-data-dir")) $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-docker")): oni-docker.el +$(OUTDIR)/$(guile (get-module-version "oni-data-dir")): oni-data-dir.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-ediff")): oni-ediff.el +$(OUTDIR)/$(guile (get-module-version "oni-diff-hl")): oni-diff-hl.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-elfeed")): oni-elfeed.el +$(OUTDIR)/$(guile (get-module-version "oni-dired")): oni-dired.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-elm")): oni-elm.el +$(OUTDIR)/$(guile (get-module-version "oni-docker")): oni-docker.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-embrace")): oni-embrace.el +$(OUTDIR)/$(guile (get-module-version "oni-ediff")): oni-ediff.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-emms")): oni-emms.el +$(OUTDIR)/$(guile (get-module-version "oni-elfeed")): oni-elfeed.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-epub")): oni-epub.el +$(OUTDIR)/$(guile (get-module-version "oni-elisp")): oni-elisp.el \ + $(OUTDIR)/$(guile (get-module-version "oni-flycheck")) \ + $(OUTDIR)/$(guile (get-module-version "oni-company")) \ + $(OUTDIR)/$(guile (get-module-version "oni-paredit")) \ + $(OUTDIR)/$(guile (get-module-version "oni-hydra")) $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-eshell")): oni-eshell.el +$(OUTDIR)/$(guile (get-module-version "oni-elm")): oni-elm.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-eww")): oni-eww.el +$(OUTDIR)/$(guile (get-module-version "oni-embrace")): oni-embrace.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-fish")): oni-fish.el +$(OUTDIR)/$(guile (get-module-version "oni-emms")): oni-emms.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-git-commit")): oni-git-commit.el +$(OUTDIR)/$(guile (get-module-version "oni-epub")): oni-epub.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-gnus")): oni-gnus.el +$(OUTDIR)/$(guile (get-module-version "oni-eshell")): oni-eshell.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-grep")): oni-grep.el +$(OUTDIR)/$(guile (get-module-version "oni-eww")): oni-eww.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-groovy")): oni-groovy.el +$(OUTDIR)/$(guile (get-module-version "oni-fish")): oni-fish.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-gui")): oni-gui.el +$(OUTDIR)/$(guile (get-module-version "oni-git-commit")): oni-git-commit.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-haskell")): oni-haskell.el +$(OUTDIR)/$(guile (get-module-version "oni-gnus")): oni-gnus.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-highlight-indent-guides")): oni-highlight-indent-guides.el +$(OUTDIR)/$(guile (get-module-version "oni-grep")): oni-grep.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-hydra")): oni-hydra.el +$(OUTDIR)/$(guile (get-module-version "oni-groovy")): oni-groovy.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-ivy")): oni-ivy.el +$(OUTDIR)/$(guile (get-module-version "oni-haml")): oni-haml.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-jabber")): oni-jabber.el +$(OUTDIR)/$(guile (get-module-version "oni-haskell")): oni-haskell.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-java")): oni-java.el +$(OUTDIR)/$(guile (get-module-version "oni-highlight-indent-guides")): oni-highlight-indent-guides.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-js")): oni-js.el +$(OUTDIR)/$(guile (get-module-version "oni-html")): oni-html.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-json")): oni-json.el +$(OUTDIR)/$(guile (get-module-version "oni-hydra")): oni-hydra.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-log-edit")): oni-log-edit.el +$(OUTDIR)/$(guile (get-module-version "oni-ivy")): oni-ivy.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-lsp")): oni-lsp.el +$(OUTDIR)/$(guile (get-module-version "oni-jabber")): oni-jabber.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-lua")): oni-lua.el +$(OUTDIR)/$(guile (get-module-version "oni-java")): oni-java.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-lui")): oni-lui.el +$(OUTDIR)/$(guile (get-module-version "oni-js")): oni-js.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-magit")): oni-magit.el +$(OUTDIR)/$(guile (get-module-version "oni-json")): oni-json.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-makefile")): oni-makefile.el +$(OUTDIR)/$(guile (get-module-version "oni-log-edit")): oni-log-edit.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-notmuch")): oni-notmuch.el +$(OUTDIR)/$(guile (get-module-version "oni-lsp")): oni-lsp.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-org-roam")): oni-org-roam.el +$(OUTDIR)/$(guile (get-module-version "oni-lua")): oni-lua.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-package")): oni-package.el +$(OUTDIR)/$(guile (get-module-version "oni-lui")): oni-lui.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-paredit")): oni-paredit.el +$(OUTDIR)/$(guile (get-module-version "oni-magit")): oni-magit.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-powershell")): oni-powershell.el +$(OUTDIR)/$(guile (get-module-version "oni-makefile")): oni-makefile.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-projectile")): oni-projectile.el +$(OUTDIR)/$(guile (get-module-version "oni-notmuch")): oni-notmuch.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-rust")): oni-rust.el +$(OUTDIR)/$(guile (get-module-version "oni-nxml")): oni-nxml.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-scheme")): oni-scheme.el +$(OUTDIR)/$(guile (get-module-version "oni-org-roam")): oni-org-roam.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-shackle")): oni-shackle.el +$(OUTDIR)/$(guile (get-module-version "oni-outline")): oni-outline.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-shr")): oni-shr.el +$(OUTDIR)/$(guile (get-module-version "oni-package")): oni-package.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-slack")): oni-slack.el +$(OUTDIR)/$(guile (get-module-version "oni-paredit")): oni-paredit.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-smt")): oni-smt.el +$(OUTDIR)/$(guile (get-module-version "oni-powershell")): oni-powershell.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-sort")): oni-sort.el +$(OUTDIR)/$(guile (get-module-version "oni-projectile")): oni-projectile.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-termux")): oni-termux.el +$(OUTDIR)/$(guile (get-module-version "oni-python")): oni-python.el \ + $(OUTDIR)/$(guile (get-module-version "oni-company")) \ + $(OUTDIR)/$(guile (get-module-version "oni-flycheck")) \ + $(OUTDIR)/$(guile (get-module-version "oni-hydra")) \ + $(OUTDIR)/$(guile (get-module-version "oni-lsp")) $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-tramp")): oni-tramp.el +$(OUTDIR)/$(guile (get-module-version "oni-ruby")): oni-ruby.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-tui")): oni-tui.el +$(OUTDIR)/$(guile (get-module-version "oni-rust")): oni-rust.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-ui")): oni-ui.el +$(OUTDIR)/$(guile (get-module-version "oni-scheme")): oni-scheme.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-vc")): oni-vc.el +$(OUTDIR)/$(guile (get-module-version "oni-shackle")): oni-shackle.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-vterm")): oni-vterm.el +$(OUTDIR)/$(guile (get-module-version "oni-shr")): oni-shr.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-web")): oni-web.el +$(OUTDIR)/$(guile (get-module-version "oni-slack")): oni-slack.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-yaml")): oni-yaml.el +$(OUTDIR)/$(guile (get-module-version "oni-smt")): oni-smt.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-alert")): oni-alert.el +$(OUTDIR)/$(guile (get-module-version "oni-sort")): oni-sort.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-autohotkey")): oni-autohotkey.el +$(OUTDIR)/$(guile (get-module-version "oni-termux")): oni-termux.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-bat")): oni-bat.el +$(OUTDIR)/$(guile (get-module-version "oni-tramp")): oni-tramp.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-bookmark")): oni-bookmark.el +$(OUTDIR)/$(guile (get-module-version "oni-tui")): oni-tui.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-browse-url")): oni-browse-url.el +$(OUTDIR)/$(guile (get-module-version "oni-twig")): oni-twig.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-c")): oni-c.el +$(OUTDIR)/$(guile (get-module-version "oni-ui")): oni-ui.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-circe")): oni-circe.el +$(OUTDIR)/$(guile (get-module-version "oni-vc")): oni-vc.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-clojure")): oni-clojure.el +$(OUTDIR)/$(guile (get-module-version "oni-vterm")): oni-vterm.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-cmake")): oni-cmake.el +$(OUTDIR)/$(guile (get-module-version "oni-web")): oni-web.el $(call upload,\"$<\") -bin/$(guile (get-module-version "oni-common-lisp")): oni-common-lisp.el +$(OUTDIR)/$(guile (get-module-version "oni-yaml")): oni-yaml.el $(call upload,\"$<\") -## oni-bats - -oni-bats/dist/$(guile (get-multifile-module-version "oni-bats")): \ - oni-bats/oni-bats.el \ - bin/$(guile (get-module-version "oni-yasnippet")) \ - bin/$(guile (get-module-version "oni-sh")) - cd oni-bats && eldev package - -bin/$(guile (get-multifile-module-version "oni-bats")): \ - oni-bats/dist/$(guile (get-multifile-module-version "oni-bats")) - $(call upload-multi-file,oni-bats) - -## oni-conf - -oni-conf/dist/$(guile (get-multifile-module-version "oni-conf")): \ - oni-conf/oni-conf.el \ - bin/$(guile (get-module-version "oni-yasnippet")) - cd oni-conf && eldev package - -bin/$(guile (get-multifile-module-version "oni-conf")): \ - oni-conf/dist/$(guile (get-multifile-module-version "oni-conf")) - $(call upload-multi-file,oni-conf) - -## oni-csharp - -oni-csharp/dist/$(guile (get-multifile-module-version "oni-csharp")): \ - oni-csharp/oni-csharp.el \ - bin/$(guile (get-module-version "oni-company")) \ - bin/$(guile (get-module-version "oni-flycheck")) \ - bin/$(guile (get-module-version "oni-yasnippet")) \ - bin/$(guile (get-module-version "oni-hydra")) \ - bin/$(guile (get-module-version "oni-lsp")) \ - bin/$(guile (get-module-version "oni-smartparens")) - cd oni-csharp && eldev package - -bin/$(guile (get-multifile-module-version "oni-csharp")): \ - oni-csharp/dist/$(guile (get-multifile-module-version "oni-csharp")) - $(call upload-multi-file,oni-csharp) - -## oni-css - -oni-css/dist/$(guile (get-multifile-module-version "oni-css")): \ - oni-css/oni-css.el \ - bin/$(guile (get-module-version "oni-company")) \ - bin/$(guile (get-module-version "oni-yasnippet")) \ - bin/$(guile (get-module-version "oni-hydra")) - cd oni-css && eldev package +$(OUTDIR)/$(guile (get-module-version "oni-alert")): oni-alert.el + $(call upload,\"$<\") -bin/$(guile (get-multifile-module-version "oni-css")): \ - oni-css/dist/$(guile (get-multifile-module-version "oni-css")) - $(call upload-multi-file,oni-css) +$(OUTDIR)/$(guile (get-module-version "oni-autohotkey")): oni-autohotkey.el + $(call upload,\"$<\") -## oni-elisp +$(OUTDIR)/$(guile (get-module-version "oni-bat")): oni-bat.el + $(call upload,\"$<\") -oni-elisp/dist/$(guile (get-multifile-module-version "oni-elisp")): \ - oni-elisp/oni-elisp.el \ - bin/$(guile (get-module-version "oni-company")) \ - bin/$(guile (get-module-version "oni-flycheck")) \ - bin/$(guile (get-module-version "oni-paredit")) \ - bin/$(guile (get-module-version "oni-yasnippet")) \ - bin/$(guile (get-module-version "oni-hydra")) - cd oni-elisp && eldev package +$(OUTDIR)/$(guile (get-module-version "oni-bats")): oni-bats.el \ + $(OUTDIR)/$(guile (get-module-version "oni-sh")) + $(call upload,\"$<\") -bin/$(guile (get-multifile-module-version "oni-elisp")): \ - oni-elisp/dist/$(guile (get-multifile-module-version "oni-elisp")) - $(call upload-multi-file,oni-elisp) +$(OUTDIR)/$(guile (get-module-version "oni-bookmark")): oni-bookmark.el + $(call upload,\"$<\") -## oni-haml +$(OUTDIR)/$(guile (get-module-version "oni-browse-url")): oni-browse-url.el + $(call upload,\"$<\") -oni-haml/dist/$(guile (get-multifile-module-version "oni-haml")): \ - oni-haml/oni-haml.el \ - bin/$(guile (get-module-version "oni-yasnippet")) - cd oni-haml && eldev package +$(OUTDIR)/$(guile (get-module-version "oni-c")): oni-c.el + $(call upload,\"$<\") -bin/$(guile (get-multifile-module-version "oni-haml")): \ - oni-haml/dist/$(guile (get-multifile-module-version "oni-haml")) - $(call upload-multi-file,oni-haml) +$(OUTDIR)/$(guile (get-module-version "oni-circe")): oni-circe.el + $(call upload,\"$<\") -## oni-html +$(OUTDIR)/$(guile (get-module-version "oni-clojure")): oni-clojure.el + $(call upload,\"$<\") -oni-html/dist/$(guile (get-multifile-module-version "oni-html")): \ - oni-html/oni-html.el \ - bin/$(guile (get-module-version "oni-yasnippet")) - cd oni-html && eldev package +$(OUTDIR)/$(guile (get-module-version "oni-cmake")): oni-cmake.el + $(call upload,\"$<\") -bin/$(guile (get-multifile-module-version "oni-html")): \ - oni-html/dist/$(guile (get-multifile-module-version "oni-html")) - $(call upload-multi-file,oni-html) +$(OUTDIR)/$(guile (get-module-version "oni-common-lisp")): oni-common-lisp.el + $(call upload,\"$<\") -## oni-nxml +## oni-gui -oni-nxml/dist/$(guile (get-multifile-module-version "oni-nxml")): \ - oni-nxml/oni-nxml.el \ - bin/$(guile (get-module-version "oni-yasnippet")) - cd oni-nxml && eldev package +oni-gui/dist/$(guile (get-multifile-module-version "oni-gui")): \ + oni-gui/oni-gui.el \ + $(OUTDIR)/$(guile (get-module-version "oni-ui")) + cd oni-gui && eldev package -bin/$(guile (get-multifile-module-version "oni-nxml")): \ - oni-nxml/dist/$(guile (get-multifile-module-version "oni-nxml")) - $(call upload-multi-file,oni-nxml) +$(OUTDIR)/$(guile (get-multifile-module-version "oni-gui")): \ + oni-gui/dist/$(guile (get-multifile-module-version "oni-gui")) + $(call upload-multi-file,oni-gui) ## oni-org oni-org/dist/$(guile (get-multifile-module-version "oni-org")): \ oni-org/oni-org.el \ - bin/$(guile (get-module-version "oni-yasnippet")) \ - bin/$(guile (get-module-version "oni-alert")) \ - bin/$(guile (get-module-version "oni-hydra")) + $(OUTDIR)/$(guile (get-module-version "oni-alert")) \ + $(OUTDIR)/$(guile (get-module-version "oni-hydra")) cd oni-org && eldev package -bin/$(guile (get-multifile-module-version "oni-org")): \ +$(OUTDIR)/$(guile (get-multifile-module-version "oni-org")): \ oni-org/dist/$(guile (get-multifile-module-version "oni-org")) $(call upload-multi-file,oni-org) @@ -497,52 +467,23 @@ bin/$(guile (get-multifile-module-version "oni-org")): \ oni-php/dist/$(guile (get-multifile-module-version "oni-php")): \ oni-php/oni-php.el \ - bin/$(guile (get-module-version "oni-yasnippet")) \ - bin/$(guile (get-module-version "oni-flycheck")) \ - bin/$(guile (get-module-version "oni-company")) \ - bin/$(guile (get-module-version "oni-prescient")) \ - bin/$(guile (get-module-version "oni-data-dir")) \ - bin/$(guile (get-module-version "oni-hydra")) + $(OUTDIR)/$(guile (get-module-version "oni-flycheck")) \ + $(OUTDIR)/$(guile (get-module-version "oni-prescient")) \ + $(OUTDIR)/$(guile (get-module-version "oni-data-dir")) \ + $(OUTDIR)/$(guile (get-module-version "oni-hydra")) \ + $(OUTDIR)/$(guile (get-module-version "oni-corfu")) cd oni-php && eldev package -bin/$(guile (get-multifile-module-version "oni-php")): \ +$(OUTDIR)/$(guile (get-multifile-module-version "oni-php")): \ oni-php/dist/$(guile (get-multifile-module-version "oni-php")) $(call upload-multi-file,oni-php) -## oni-python - -oni-python/dist/$(guile (get-multifile-module-version "oni-python")): \ - oni-python/oni-python.el \ - bin/$(guile (get-module-version "oni-yasnippet")) \ - bin/$(guile (get-module-version "oni-company")) \ - bin/$(guile (get-module-version "oni-flycheck")) \ - bin/$(guile (get-module-version "oni-hydra")) \ - bin/$(guile (get-module-version "oni-lsp")) - cd oni-python && eldev package - -bin/$(guile (get-multifile-module-version "oni-python")): \ - oni-python/dist/$(guile (get-multifile-module-version "oni-python")) - $(call upload-multi-file,oni-python) - -## oni-ruby - -oni-ruby/dist/$(guile (get-multifile-module-version "oni-ruby")): \ - oni-ruby/oni-ruby.el \ - bin/$(guile (get-module-version "oni-yasnippet")) - cd oni-ruby && eldev package - -bin/$(guile (get-multifile-module-version "oni-ruby")): \ - oni-ruby/dist/$(guile (get-multifile-module-version "oni-ruby")) - $(call upload-multi-file,oni-ruby) - -## oni-twig - -oni-twig/dist/$(guile (get-multifile-module-version "oni-twig")): \ - oni-twig/oni-twig.el \ - bin/$(guile (get-module-version "oni-yasnippet")) - cd oni-twig && eldev package +## oni-yasnippet -bin/$(guile (get-multifile-module-version "oni-twig")): \ - oni-twig/dist/$(guile (get-multifile-module-version "oni-twig")) - $(call upload-multi-file,oni-twig) +oni-yasnippet/dist/$(guile (get-multifile-module-version "oni-yasnippet")): \ + oni-yasnippet/oni-yasnippet.el + cd oni-yasnippet && eldev package +$(OUTDIR)/$(guile (get-multifile-module-version "oni-yasnippet")): \ + oni-yasnippet/dist/$(guile (get-multifile-module-version "oni-yasnippet")) + $(call upload-multi-file,oni-yasnippet) diff --git a/manifest.scm b/manifest.scm new file mode 100644 index 0000000..fc0e556 --- /dev/null +++ b/manifest.scm @@ -0,0 +1,11 @@ +(specifications->manifest + '("emacs" + "emacs-eldev" + "emacs-org-pretty-table" + "make" + "coreutils" + "findutils" + "git" + "tar" + "gzip" + "hut")) diff --git a/oni-bats/oni-bats.el b/oni-bats.el index 2c2b9f7..eaaea14 100644 --- a/oni-bats/oni-bats.el +++ b/oni-bats.el @@ -4,8 +4,8 @@ ;; Author: Tom Willemse <tom@ryuslash.org> ;; Keywords: local -;; Version: 2021.1201.134023 -;; Package-Requires: (bats-mode oni-sh oni-yasnippet) +;; Version: 2026.0527.002728 +;; Package-Requires: (bats-mode oni-sh) ;; 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 @@ -34,7 +34,6 @@ (require 'autoinsert) (require 'oni-sh) -(require 'yasnippet) (defconst oni-bats-root (file-name-directory @@ -42,29 +41,15 @@ (buffer-file-name))) "The directory where ‘oni-bats’ was loaded from.") -(defconst oni-bats-snippets-dir - (expand-file-name "snippets" oni-bats-root) - "The directory where ‘oni-bats’ stores its snippets.") - (defun oni-bats-disable-shfmt-on-save-mode () "Disable ‘shfmt-on-save-mode’." (shfmt-on-save-mode -1)) -(defun oni-bats-snippets-initialize () - "Initialize the snippets for ‘oni-bats’." - (when (boundp 'yas-snippet-dirs) - (add-to-list 'yas-snippet-dirs oni-bats-snippets-dir t)) - (yas-load-directory oni-bats-snippets-dir)) - (add-hook 'bats-mode-hook #'oni-bats-disable-shfmt-on-save-mode) ;;;###autoload (with-eval-after-load 'autoinsert (add-to-list 'auto-insert-alist '(bats-mode nil "#!/usr/bin/env bats\n\n"))) -(with-eval-after-load 'bats-mode - (with-eval-after-load 'yasnippet - (oni-bats-snippets-initialize))) - (provide 'oni-bats) ;;; oni-bats.el ends here diff --git a/oni-browse-url.el b/oni-browse-url.el index 33260d2..d6a94f0 100644 --- a/oni-browse-url.el +++ b/oni-browse-url.el @@ -4,7 +4,7 @@ ;; Author: Tom Willemse <tom@ryuslash.org> ;; Keywords: local -;; Version: 2022.1213.070851 +;; Version: 2026.0707.172201 ;; 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 @@ -71,8 +71,8 @@ before this filter." (t args)))) (setq browse-url-browser-function - (if (eql system-type 'windows-nt) - 'browse-url-default-windows-browser + (if (member system-type '(windows-nt darwin)) + 'browse-url-default-browser 'browse-url-firefox)) ;; Taken from https://mas.to/@ParetoOptimalDev/109378647927115065 diff --git a/oni-compilation.el b/oni-compilation.el index 888ad09..f83e8fb 100644 --- a/oni-compilation.el +++ b/oni-compilation.el @@ -4,7 +4,7 @@ ;; Author: Tom Willemse <tom@ryuslash.org> ;; Keywords: local -;; Version: 2021.0919.230646 +;; Version: 2026.0121.162911 ;; Package-Requires: (oni-alert xterm-color) ;; This program is free software; you can redistribute it and/or modify @@ -51,7 +51,7 @@ ALIST and PLIST contain extra information about the buffer." BUFFER is the `compilation-mode' buffer and STATUS is the exit status of the process." - (when (string= (buffer-name buffer) "*compilation*") + (when (string-match-p (rx "*compilation*" "*Chanced Tests*") (buffer-name buffer)) (if (string= (string-trim status) "finished") (alert "Compilation finished succesfully") (alert "Compilation finished with an error")))) diff --git a/oni-conf/oni-conf.el b/oni-conf.el index b3787cb..787d6fc 100644 --- a/oni-conf/oni-conf.el +++ b/oni-conf.el @@ -4,8 +4,7 @@ ;; Author: Tom Willemse <tom@ryuslash.org> ;; Keywords: local -;; Version: 2021.1201.134001 -;; Package-Requires: (oni-yasnippet) +;; Version: 2026.0527.002815 ;; 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 @@ -26,24 +25,12 @@ ;;; Code: -(require 'yasnippet) - (defconst oni-conf-root (file-name-directory (or load-file-name (buffer-file-name))) "The directory where ‘oni-conf’ was loaded from.") -(defconst oni-conf-snippets-dir - (expand-file-name "snippets" oni-conf-root) - "The directory where ‘oni-conf’ stores its snippets.") - -(defun oni-conf-snippets-initialize () - "Initialize the snippets for ‘oni-conf’." - (when (boundp 'yas-snippet-dirs) - (add-to-list 'yas-snippet-dirs oni-conf-snippets-dir t)) - (yas-load-directory oni-conf-snippets-dir)) - (defun oni-conf--auto-fill-mode () "Enable ‘auto-fill-mode’ only for comments." (setq-local comment-auto-fill-only-comments t) @@ -54,9 +41,5 @@ ;;;###autoload (add-to-list 'auto-mode-alist `(,(rx ".service" string-end) . conf-mode)) -(with-eval-after-load 'conf-mode - (with-eval-after-load 'yasnippet - (oni-conf-snippets-initialize))) - (provide 'oni-conf) ;;; oni-conf.el ends here diff --git a/oni-conf/Eldev b/oni-conf/Eldev deleted file mode 100644 index 1ba3134..0000000 --- a/oni-conf/Eldev +++ /dev/null @@ -1,13 +0,0 @@ -; -*- mode: emacs-lisp; lexical-binding: t -*- - -;; Uncomment some calls below as needed for your project. -(eldev-use-package-archive 'gnu-elpa) -;(eldev-use-package-archive 'nongnu-elpa) -(eldev-use-package-archive 'melpa) -(eldev-use-package-archive `("oni" . ,(expand-file-name "../bin"))) - -(eldev-use-plugin 'autoloads) - -(setf eldev-files-to-package - `(:or ,eldev-files-to-package - '("*.el" "./snippets/**/*"))) diff --git a/oni-core.el b/oni-core.el index 8e7798b..f61c85b 100644 --- a/oni-core.el +++ b/oni-core.el @@ -4,7 +4,7 @@ ;; Author: Tom Willemse <tom@ryuslash.org> ;; Keywords: local -;; Version: 2025.0728.160458 +;; Version: 2026.0526.114714 ;; 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 @@ -417,6 +417,7 @@ _s_: String list" ;;; Vertico (vertico-mode) +(vertico-prescient-mode) (define-key vertico-map (kbd "<return>") 'vertico-directory-enter) (define-key vertico-map (kbd "<backspace>") 'vertico-directory-delete-char) @@ -479,6 +480,8 @@ _s_: String list" (consult-customize consult-buffer consult-bookmark :preview-key nil)) +(setq xref-show-definitions-function 'consult-xref) + ;;; Embark (global-set-key (kbd "C-.") 'embark-act) @@ -591,5 +594,9 @@ of the buffer name." (setq uniquify-buffer-name-style 'oni-core-colored-post-forward-angle-brackets) +;;; Make switching buffers obey ‘display-buffer-alist’ + +(setq switch-to-buffer-obey-display-actions t) + (provide 'oni-core) ;;; oni-core.el ends here diff --git a/oni-corfu.el b/oni-corfu.el new file mode 100644 index 0000000..4a16aed --- /dev/null +++ b/oni-corfu.el @@ -0,0 +1,41 @@ +;;; oni-corfu.el --- Configuration for corfu -*- lexical-binding: t; -*- + +;; Copyright (C) 2026 Tom Willemse + +;; Author: Tom Willemse <tom@ryuslash.org> +;; Keywords: local +;; Version: 2026.0514.121624 +;; Package-Requires: (corfu oni-prescient cape) + +;; 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 +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see <https://www.gnu.org/licenses/>. + +;;; Commentary: + +;; Configuration for the corfu in-buffer completion framework. + +;;; Code: + +(require 'corfu) +(require 'minibuffer) + +(setq corfu-auto t) + +(add-hook 'corfu-mode-hook 'corfu-prescient-mode) + +(add-to-list 'completion-at-point-functions 'cape-abbrev) +(add-to-list 'completion-at-point-functions 'cape-dabbrev) +(add-to-list 'completion-at-point-functions 'cape-file) + +(provide 'oni-corfu) +;;; oni-corfu.el ends here diff --git a/oni-csharp/oni-csharp.el b/oni-csharp.el index 8451d93..09e4e0a 100644 --- a/oni-csharp/oni-csharp.el +++ b/oni-csharp.el @@ -4,8 +4,8 @@ ;; Author: Tom Willemse <tom@ryuslash.org> ;; Keywords: local -;; Version: 2023.0525.001714 -;; Package-Requires: (csharp-mode oni-company oni-flycheck oni-yasnippet oni-hydra oni-lsp oni-smartparens) +;; Version: 2026.0527.002902 +;; Package-Requires: (csharp-mode oni-company oni-flycheck oni-hydra oni-lsp oni-smartparens) ;; 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 @@ -29,7 +29,6 @@ (require 'company) (require 'csharp-mode) (require 'hydra) -(require 'yasnippet) (defconst oni-csharp-root (file-name-directory @@ -37,10 +36,6 @@ (buffer-file-name))) "The directory where ‘oni-csharp’ was loaded from.") -(defconst oni-csharp-snippets-dir - (expand-file-name "snippets" oni-csharp-root) - "The directory where ‘oni-csharp’ stores its snippets.") - (defcustom oni-csharp-devenv-executable "\"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Professional\\Common7\\IDE\\devenv.com\"" "The location of the devenv.com executable." @@ -83,12 +78,6 @@ _cs_: Solution (setq-local comment-auto-fill-only-comments t) (auto-fill-mode)) -(defun oni-csharp-snippets-initialize () - "Initialize the snippets for ‘oni-csharp’." - (when (boundp 'yas-snippet-dirs) - (add-to-list 'yas-snippet-dirs oni-csharp-snippets-dir t)) - (yas-load-directory oni-csharp-snippets-dir)) - (defun oni-csharp--update-style () "Set style rules according to personal (or recommended) preference." (c-set-offset 'arglist-intro '+) @@ -151,10 +140,6 @@ _cs_: Solution (group "error" (one-or-more any))) 1 (2 . 4) (3 . 5) 2 6))) -(with-eval-after-load 'csharp-mode - (with-eval-after-load 'yasnippet - (oni-csharp-snippets-initialize))) - ;;; Solution mode (defun oni-csharp-collect-project-names () diff --git a/oni-css/oni-css.el b/oni-css.el index cf58284..91fc11b 100644 --- a/oni-css/oni-css.el +++ b/oni-css.el @@ -4,8 +4,8 @@ ;; Author: Tom Willemse <tom@ryuslash.org> ;; Keywords: local -;; Version: 2025.0617.123504 -;; Package-Requires: (oni-company oni-hydra rainbow-mode oni-yasnippet prettier-js) +;; Version: 2026.0527.003008 +;; Package-Requires: (oni-company oni-hydra rainbow-mode prettier-js) ;; 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 @@ -29,7 +29,6 @@ (require 'align) (require 'css-mode) (require 'hydra) -(require 'yasnippet) (eval-when-compile (require 'compile) @@ -41,10 +40,6 @@ (buffer-file-name))) "The directory where ‘oni-css’ was loaded from.") -(defconst oni-css-snippets-dir - (expand-file-name "snippets" oni-css-root) - "The directory where ‘oni-css’ stores its snippets.") - (defun oni-css-property-important-p () "Return whether or not the current property is important." (save-excursion @@ -60,12 +55,6 @@ (when (re-search-backward ";" (line-beginning-position) :noerror) (insert " !important"))))) -(defun oni-css-snippets-initialize () - "Initialize the snippets for ‘oni-css’." - (when (boundp 'yas-snippet-dirs) - (add-to-list 'yas-snippet-dirs oni-css-snippets-dir t)) - (yas-load-directory oni-css-snippets-dir)) - (defun oni-css-remove-important () "Remove the important flag from the property on the current line." (interactive) @@ -165,9 +154,5 @@ (with-eval-after-load 'grep (add-to-list 'grep-files-aliases '("css" . "*.css *.less *.sass *.scss"))) -(with-eval-after-load 'css-mode - (with-eval-after-load 'yasnippet - (oni-css-snippets-initialize))) - (provide 'oni-css) ;;; oni-css.el ends here diff --git a/oni-css/Eldev b/oni-css/Eldev deleted file mode 100644 index 1ba3134..0000000 --- a/oni-css/Eldev +++ /dev/null @@ -1,13 +0,0 @@ -; -*- mode: emacs-lisp; lexical-binding: t -*- - -;; Uncomment some calls below as needed for your project. -(eldev-use-package-archive 'gnu-elpa) -;(eldev-use-package-archive 'nongnu-elpa) -(eldev-use-package-archive 'melpa) -(eldev-use-package-archive `("oni" . ,(expand-file-name "../bin"))) - -(eldev-use-plugin 'autoloads) - -(setf eldev-files-to-package - `(:or ,eldev-files-to-package - '("*.el" "./snippets/**/*"))) diff --git a/oni-dired.el b/oni-dired.el index aa4a96c..1720065 100644 --- a/oni-dired.el +++ b/oni-dired.el @@ -4,7 +4,8 @@ ;; Author: Tom Willemse <tom@ryuslash.org> ;; Keywords: local -;; Version: 2021.1123.003414 +;; Version: 2026.0310.090659 +;; Package-Requires: (oni-diff-hl) ;; 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 @@ -38,6 +39,7 @@ (add-hook 'dired-mode-hook #'oni-dired--add-wdired-keybinding) (add-hook 'dired-mode-hook 'hl-line-mode) +(add-hook 'dired-mode-hook 'diff-hl-dired-mode) (add-to-list 'dired-guess-shell-alist-user `(,(rx ".pdf" eos) "zathura")) diff --git a/oni-dumb-jump.el b/oni-dumb-jump.el new file mode 100644 index 0000000..464acc2 --- /dev/null +++ b/oni-dumb-jump.el @@ -0,0 +1,33 @@ +;;; oni-dumb-jump.el --- Configuration for dumb-jump -*- lexical-binding: t; -*- + +;; Copyright (C) 2026 Tom Willemse + +;; Author: Tom Willemse <tom@ryuslash.org> +;; Keywords: local + +;; 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 +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see <https://www.gnu.org/licenses/>. + +;;; Commentary: + +;; Configuration for dumb-jump. + +;;; Code: + +(require 'dumb-jump) + +(setq dumb-jump-prefer-searcher 'rg) +(add-hook 'xref-backend-functions 'dumb-jump-xref-activate) + +(provide 'oni-dumb-jump) +;;; oni-dumb-jump.el ends here diff --git a/oni-elfeed.el b/oni-elfeed.el index d2aecf0..42a95b7 100644 --- a/oni-elfeed.el +++ b/oni-elfeed.el @@ -4,7 +4,7 @@ ;; Author: Tom Willemse <tom@ryuslash.org> ;; Keywords: local -;; Version: 2025.0916.224624 +;; Version: 2026.0602.013053 ;; Package-Requires: (elfeed olivetti) ;; This program is free software; you can redistribute it and/or modify @@ -102,7 +102,13 @@ ("https://me.literatelisp.eu/this-week-in-guix.xml" guix) "https://apisyouwonthate.com/rss/" "https://sophiebits.com/atom.xml" - "https://signal.org/blog/rss.xml")) + "https://signal.org/blog/rss.xml" + ("https://pivot-to-ai.com/feed/" ai) + "https://pluralistic.net/feed/" + ("https://phpreads.com/feed" php) + ("https://mastodon.social/tags/emacs.rss" emacs) + "https://ohai.social/tags/ToddlerDnD.rss" + "https://writethatblog.substack.com/feed")) (add-hook 'elfeed-new-entry-hook (elfeed-make-tagger :before "2 weeks ago" diff --git a/oni-elisp/oni-elisp.el b/oni-elisp.el index 2c4122c..152061d 100644 --- a/oni-elisp/oni-elisp.el +++ b/oni-elisp.el @@ -4,8 +4,8 @@ ;; Author: Tom Willemse <tom@ryuslash.org> ;; Keywords: local -;; Version: 2024.1101.071725 -;; Package-Requires: (oni-company oni-flycheck oni-paredit oni-yasnippet oni-hydra rainbow-delimiters nameless erefactor flycheck-relint elisp-format) +;; Version: 2026.0527.003032 +;; Package-Requires: (oni-company oni-flycheck oni-paredit oni-hydra rainbow-delimiters nameless erefactor flycheck-relint elisp-format) ;; 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 @@ -29,7 +29,6 @@ (require 'checkdoc) (require 'flycheck-relint) (require 'hydra) -(require 'yasnippet) (let ((byte-compile-not-obsolete-funcs '(preceding-sexp))) (require 'erefactor)) @@ -42,10 +41,6 @@ (buffer-file-name))) "The directory where ‘oni-elisp’ was loaded from.") -(defconst oni-elisp-snippets-dir - (expand-file-name "snippets" oni-elisp-root) - "The directory where ‘oni-elisp’ stores its snippets.") - (font-lock-add-keywords 'emacs-lisp-mode `((,(rx symbol-start @@ -57,12 +52,6 @@ symbol-end) 1 font-lock-constant-face))) -(defun oni-elisp-snippets-initialize () - "Initialize the snippets for ‘oni-elisp’." - (when (boundp 'yas-snippet-dirs) - (add-to-list 'yas-snippet-dirs oni-elisp-snippets-dir t)) - (yas-load-directory oni-elisp-snippets-dir)) - (defun oni-elisp-auto-fill-mode () "Enable ‘auto-fill-mode’ only for comments and inhibit for Package-Requires." (setq-local comment-auto-fill-only-comments t) @@ -130,10 +119,6 @@ _eb_: Buffer (slot . 0) (window-height . 0.33))) -(with-eval-after-load 'elisp-mode - (with-eval-after-load 'yasnippet - (oni-elisp-snippets-initialize))) - (flycheck-relint-setup) (add-hook 'emacs-lisp-mode-hook 'checkdoc-minor-mode) diff --git a/oni-elisp/Eldev b/oni-elisp/Eldev deleted file mode 100644 index 1ba3134..0000000 --- a/oni-elisp/Eldev +++ /dev/null @@ -1,13 +0,0 @@ -; -*- mode: emacs-lisp; lexical-binding: t -*- - -;; Uncomment some calls below as needed for your project. -(eldev-use-package-archive 'gnu-elpa) -;(eldev-use-package-archive 'nongnu-elpa) -(eldev-use-package-archive 'melpa) -(eldev-use-package-archive `("oni" . ,(expand-file-name "../bin"))) - -(eldev-use-plugin 'autoloads) - -(setf eldev-files-to-package - `(:or ,eldev-files-to-package - '("*.el" "./snippets/**/*"))) diff --git a/oni-eshell.el b/oni-eshell.el index 6e01ad1..dae024b 100644 --- a/oni-eshell.el +++ b/oni-eshell.el @@ -4,7 +4,7 @@ ;; Author: Tom Willemse <tom@ryuslash.org> ;; Keywords: local -;; Version: 2025.1222.160029 +;; Version: 2026.0407.092049 ;; Package-Requires: (eshell-fringe-status esh-autosuggest xterm-color eshell-syntax-highlighting) ;; This program is free software; you can redistribute it and/or modify @@ -132,7 +132,8 @@ DIRECTORY should be a directory that exists within CURRENT-PATH." (zero-or-more any))) (matches (directory-files current-path nil dir-rx))) (when (= (length matches) 1) - (throw 'result current-directory)))))) + (throw 'result current-directory)))) + directory)) (defun oni-eshell-shorten-directory (directory) "Shorten DIRECTORY to the shortest unique names of each directory." @@ -4,7 +4,7 @@ ;; Author: Tom Willemse <tom@ryuslash.org> ;; Keywords: local -;; Version: 2021.0406.111733 +;; Version: 2026.0702.170337 ;; Package-Requires: (eww oni-data-dir) ;; This program is free software; you can redistribute it and/or modify @@ -27,6 +27,7 @@ ;;; Code: (require 'eww) +(require 'oni-data-dir) (defvar oni-eww-desired-window-width 120 "The window width which ‘oni-eww-resize-margins’ will try to accommodate.") @@ -50,11 +51,13 @@ Delete all other windows and then pass BUFFER and ALIST on to (display-buffer-same-window buffer alist)) (setq eww-bookmarks-directory (oni-data-dir-locate "eww/")) +(setq eww-auto-rename-buffer 'url) (add-to-list 'display-buffer-alist `(,(rx string-start "*eww*" string-end) oni-eww-display-buffer-in-only-window)) (add-hook 'eww-mode-hook #'oni-eww-setup-margins) +(add-hook 'eww-mode-hook #'outline-minor-mode) (provide 'oni-eww) ;;; oni-eww.el ends here diff --git a/oni-flycheck.el b/oni-flycheck.el index 7047b00..7304551 100644 --- a/oni-flycheck.el +++ b/oni-flycheck.el @@ -4,8 +4,8 @@ ;; Author: Tom Willemse <tom@ryuslash.org> ;; Keywords: local -;; Version: 2021.0715.221757 -;; Package-Requires: (flycheck flycheck-posframe flycheck-cask) +;; Version: 2026.0629.004856 +;; Package-Requires: (flycheck flycheck-posframe flycheck-cask flycheck-phpstan) ;; 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 diff --git a/oni-csharp/Eldev b/oni-gui/Eldev index 1ba3134..9c6fc81 100644 --- a/oni-csharp/Eldev +++ b/oni-gui/Eldev @@ -4,10 +4,11 @@ (eldev-use-package-archive 'gnu-elpa) ;(eldev-use-package-archive 'nongnu-elpa) (eldev-use-package-archive 'melpa) -(eldev-use-package-archive `("oni" . ,(expand-file-name "../bin"))) +(eldev-use-package-archive `("oni" . ,(expand-file-name "../public/packages"))) (eldev-use-plugin 'autoloads) (setf eldev-files-to-package `(:or ,eldev-files-to-package - '("*.el" "./snippets/**/*"))) + '("*.el" + "./icons/**/*"))) diff --git a/oni-gui/icons/wakatime.svg b/oni-gui/icons/wakatime.svg new file mode 100644 index 0000000..132fd9b --- /dev/null +++ b/oni-gui/icons/wakatime.svg @@ -0,0 +1,4 @@ +<svg width="340" height="340" viewBox="0 0 340 340" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path fill-rule="evenodd" clip-rule="evenodd" d="M170 20C87.156 20 20 87.156 20 170C20 252.844 87.156 320 170 320C252.844 320 320 252.844 320 170C320 87.156 252.844 20 170 20V20V20Z" stroke="white" stroke-width="40"/> +<path d="M190.183 213.541C188.74 215.443 186.576 216.667 184.151 216.667C183.913 216.667 183.677 216.651 183.443 216.627C183.042 216.579 182.823 216.545 182.606 216.497C182.337 216.434 182.137 216.375 181.94 216.308C181.561 216.176 181.392 216.109 181.228 216.035C180.843 215.849 180.707 215.778 180.572 215.701C180.205 215.478 180.109 215.412 180.014 215.345C179.856 215.233 179.698 215.117 179.547 214.992C179.251 214.746 179.147 214.65 179.044 214.552C178.731 214.241 178.531 214.018 178.341 213.785C177.982 213.331 177.69 212.888 177.438 212.415L168.6 198.214L159.766 212.415C158.38 214.939 155.874 216.667 152.995 216.667C150.106 216.667 147.588 214.926 146.243 212.346L107.607 156.061C106.337 154.529 105.556 152.499 105.556 150.258C105.556 145.514 109.043 141.665 113.344 141.665C116.127 141.665 118.564 143.282 119.942 145.708L152.555 193.9L161.735 178.952C163.058 176.288 165.626 174.478 168.575 174.478C171.273 174.478 173.652 175.996 175.049 178.298L184.517 193.839L235.684 120.583C237.075 118.226 239.475 116.667 242.213 116.667C246.514 116.667 250 120.514 250 125.258C250 127.332 249.337 129.232 248.23 130.715L190.183 213.541V213.541Z" fill="white" stroke="white" stroke-width="10"/> +</svg> diff --git a/oni-gui/oni-gui.el b/oni-gui/oni-gui.el index b3700c5..7efd167 100644 --- a/oni-gui/oni-gui.el +++ b/oni-gui/oni-gui.el @@ -4,7 +4,7 @@ ;; Author: Tom Willemse <tom@ryuslash.org> ;; Keywords: local -;; Version: 2025.0115.143051 +;; Version: 2026.0514.155439 ;; Package-Requires: (oni-ui oni-hydra yoshi-theme diminish) ;; This program is free software; you can redistribute it and/or modify @@ -28,6 +28,7 @@ (require 'hydra) (require 'oni-ui) +(require 'map) (defconst oni-gui-root (file-name-directory @@ -39,13 +40,13 @@ (expand-file-name "icons" oni-gui-root) "The directory where ‘oni-gui’ stores its icons.") -(add-to-list 'default-frame-alist '(font . "Fantasque Sans Mono-15")) -(add-to-list 'default-frame-alist '(internal-border-width . 15)) +(setf (map-elt default-frame-alist 'font) "Fantasque Sans Mono-15") +(setf (map-elt default-frame-alist 'internal-border-width) 15) (defun oni-gui-setup-faces (frame) "Setup faces for FRAME." (set-face-attribute 'fixed-pitch frame :font "Fantasque Sans Mono-15") - (set-face-attribute 'variable-pitch frame :font "Comic Neue-15")) + (set-face-attribute 'variable-pitch frame :font "Dosis-16")) (defun oni-gui-setup-fontsets (frame) "Setup fontsets for FRAME. @@ -96,9 +97,11 @@ If FRAME is nil, they’re set for the current frame." `([,(cdr char-regexp) 0 font-shape-gstring]))))) (with-eval-after-load 'isearch - (diminish 'isearch-mode (propertize " " 'display `(image :type svg :file ,(expand-file-name "search.svg" oni-gui-icons-dir) :ascent center :margin (5 . 0))))) + (diminish 'isearch-mode (propertize " " 'display `(image :type svg :file ,(expand-file-name "search.svg" oni-gui-icons-dir) :ascent center :margin (5 . 0) :height 16)))) (with-eval-after-load 'autorevert - (diminish 'auto-revert-mode (propertize " " 'display `(image :type svg :file ,(expand-file-name "recycle.svg" oni-gui-icons-dir) :ascent center :margin (5 . 0))))) + (diminish 'auto-revert-mode (propertize " " 'display `(image :type svg :file ,(expand-file-name "recycle.svg" oni-gui-icons-dir) :ascent center :margin (5 . 0) :height 16)))) +(with-eval-after-load 'wakatime-mode + (diminish 'wakatime-mode (propertize " " 'display `(image :type svg :file ,(expand-file-name "wakatime.svg" oni-gui-icons-dir) :ascent center :margin (5 . 0) :height 16)))) (defhydra oni-gui-hydra (:color teal :hint nil) " @@ -132,6 +135,7 @@ _bi_: Auto Insert ^^ ^^ (global-set-key (kbd "C-c c") '("Frequently used commands" . oni-gui-hydra/body)) (load-theme 'yoshi :no-confirm) +(require 'yoshi-mode-line) (when (fboundp 'pixel-scroll-precision-mode) (pixel-scroll-precision-mode)) diff --git a/oni-haml/oni-haml.el b/oni-haml.el index 98b3322..fee9c1d 100644 --- a/oni-haml/oni-haml.el +++ b/oni-haml.el @@ -4,8 +4,7 @@ ;; Author: Tom Willemse <tom@ryuslash.org> ;; Keywords: local -;; Version: 2021.1201.134032 -;; Package-Requires: (oni-yasnippet) +;; Version: 2026.0527.003052 ;; 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 @@ -26,24 +25,12 @@ ;;; Code: -(require 'yasnippet) - (defconst oni-haml-root (file-name-directory (or load-file-name (buffer-file-name))) "The directory where ‘oni-haml’ was loaded from.") -(defconst oni-haml-snippets-dir - (expand-file-name "snippets" oni-haml-root) - "The directory where ‘oni-haml’ stores its snippets.") - -(defun oni-haml-snippets-initialize () - "Initialize the snippets for ‘oni-haml’." - (when (boundp 'yas-snippet-dirs) - (add-to-list 'yas-snippet-dirs oni-haml-snippets-dir t)) - (yas-load-directory oni-haml-snippets-dir)) - (defun oni-haml--auto-fill-mode () "Enable ‘auto-fill-mode’ only for comments." (setq-local comment-auto-fill-only-comments t) @@ -51,9 +38,5 @@ (add-hook 'haml-mode-hook 'oni-haml--auto-fill-mode) -(with-eval-after-load 'haml-mode - (with-eval-after-load 'yasnippet - (oni-haml-snippets-initialize))) - (provide 'oni-haml) ;;; oni-haml.el ends here diff --git a/oni-haml/Eldev b/oni-haml/Eldev deleted file mode 100644 index 1ba3134..0000000 --- a/oni-haml/Eldev +++ /dev/null @@ -1,13 +0,0 @@ -; -*- mode: emacs-lisp; lexical-binding: t -*- - -;; Uncomment some calls below as needed for your project. -(eldev-use-package-archive 'gnu-elpa) -;(eldev-use-package-archive 'nongnu-elpa) -(eldev-use-package-archive 'melpa) -(eldev-use-package-archive `("oni" . ,(expand-file-name "../bin"))) - -(eldev-use-plugin 'autoloads) - -(setf eldev-files-to-package - `(:or ,eldev-files-to-package - '("*.el" "./snippets/**/*"))) diff --git a/oni-html/oni-html.el b/oni-html.el index 68318ae..f06f8a5 100644 --- a/oni-html/oni-html.el +++ b/oni-html.el @@ -4,8 +4,7 @@ ;; Author: Tom Willemse <tom@ryuslash.org> ;; Keywords: local -;; Version: 2021.1201.134113 -;; Package-Requires: (oni-yasnippet) +;; Version: 2026.0527.003123 ;; 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 @@ -26,24 +25,12 @@ ;;; Code: -(require 'yasnippet) - (defconst oni-html-root (file-name-directory (or load-file-name (buffer-file-name))) "The directory where ‘oni-html’ was loaded from.") -(defconst oni-html-snippets-dir - (expand-file-name "snippets" oni-html-root) - "The directory where ‘oni-html’ stores its snippets.") - -(defun oni-html-snippets-initialize () - "Initialize the snippets for ‘oni-html’." - (when (boundp 'yas-snippet-dirs) - (add-to-list 'yas-snippet-dirs oni-html-snippets-dir t)) - (yas-load-directory oni-html-snippets-dir)) - (defun oni-html--auto-fill-mode () "Enable ‘auto-fill-mode’ only for comments." (setq-local comment-auto-fill-only-comments t) @@ -52,9 +39,5 @@ (add-hook 'html-mode-hook 'electric-pair-local-mode) (add-hook 'html-mode-hook 'oni-html--auto-fill-mode) -(with-eval-after-load 'sgml-mode - (with-eval-after-load 'yasnippet - (oni-html-snippets-initialize))) - (provide 'oni-html) ;;; oni-html.el ends here diff --git a/oni-html/Eldev b/oni-html/Eldev deleted file mode 100644 index 1ba3134..0000000 --- a/oni-html/Eldev +++ /dev/null @@ -1,13 +0,0 @@ -; -*- mode: emacs-lisp; lexical-binding: t -*- - -;; Uncomment some calls below as needed for your project. -(eldev-use-package-archive 'gnu-elpa) -;(eldev-use-package-archive 'nongnu-elpa) -(eldev-use-package-archive 'melpa) -(eldev-use-package-archive `("oni" . ,(expand-file-name "../bin"))) - -(eldev-use-plugin 'autoloads) - -(setf eldev-files-to-package - `(:or ,eldev-files-to-package - '("*.el" "./snippets/**/*"))) diff --git a/oni-logview.el b/oni-logview.el new file mode 100644 index 0000000..bc2c526 --- /dev/null +++ b/oni-logview.el @@ -0,0 +1,38 @@ +;;; oni-logview.el --- LogView configuration -*- lexical-binding: t; -*- + +;; Copyright (C) 2026 Tom Willemse + +;; Author: Tom Willemse <tom@ryuslash.org> +;; Keywords: local +;; Version: 2026.0402.162536 +;; Package-Requires: (logview) + +;; 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 +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see <https://www.gnu.org/licenses/>. + +;;; Commentary: + +;; My logview configuration. + +;;; Code: + +(require 'map) +(require 'logview) + +(setf (map-elt logview-additional-submodes "Laravel") + '((format . "[TIMESTAMP] NAME.LEVEL:") + (levels . "RFC 5424") + (timestamp))) + +(provide 'oni-logview) +;;; oni-logview.el ends here diff --git a/oni-magit.el b/oni-magit.el index 9e34fcd..a0fc451 100644 --- a/oni-magit.el +++ b/oni-magit.el @@ -4,7 +4,7 @@ ;; Author: Tom Willemse <tom@ryuslash.org> ;; Keywords: local -;; Version: 2026.0106.150051 +;; Version: 2026.0427.130949 ;; Package-Requires: (magit magit-popup oni-hydra) ;; This program is free software; you can redistribute it and/or modify @@ -70,5 +70,25 @@ _i_: Init ;;;###autoload (global-set-key (kbd "C-c v") '("Magit commands" . oni-hydra-magit/body)) +(defun oni-magit-highlight-linear-keywords () + "Highlight and link Linear links." + (while (re-search-forward (rx "[" (or "15U" "GOL" "OPT") "-" (minimal-match (one-or-more digit)) "]") nil t) + (let ((match-text (buffer-substring-no-properties + (1+ (match-beginning 0)) + (1- (match-end 0))))) + (put-text-property (match-beginning 0) + (match-end 0) + 'font-lock-face 'link) + (put-text-property (match-beginning 0) + (match-end 0) + 'local-map (let ((keymap (make-sparse-keymap))) + (define-key keymap (kbd "RET") + (lambda () + (interactive) + (browse-url (format "https://linear.app/goldcoin/issue/%s" match-text)))) + keymap))))) + +(add-hook 'forge-topic-wash-title-hook 'oni-magit-highlight-linear-keywords) + (provide 'oni-magit) ;;; oni-magit.el ends here diff --git a/oni-nxml/oni-nxml.el b/oni-nxml.el index 4ecce90..4e97269 100644 --- a/oni-nxml/oni-nxml.el +++ b/oni-nxml.el @@ -4,8 +4,8 @@ ;; Author: Tom Willemse <tom@ryuslash.org> ;; Keywords: local -;; Version: 2021.1201.134152 -;; Package-Requires: (oni-yasnippet reformatter) +;; Version: 2026.0527.003150 +;; Package-Requires: (reformatter) ;; 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 @@ -26,24 +26,12 @@ ;;; Code: -(require 'yasnippet) - (defconst oni-nxml-root (file-name-directory (or load-file-name (buffer-file-name))) "The directory where ‘oni-nxml’ was loaded from.") -(defconst oni-nxml-snippets-dir - (expand-file-name "snippets" oni-nxml-root) - "The directory where ‘oni-nxml’ stores its snippets.") - -(defun oni-nxml-snippets-initialize () - "Initialize the snippets for ‘oni-nxml’." - (when (boundp 'yas-snippet-dirs) - (add-to-list 'yas-snippet-dirs oni-nxml-snippets-dir t)) - (yas-load-directory oni-nxml-snippets-dir)) - (defun oni-nxml--auto-fill-mode () "Enable ‘auto-fill-mode’ only for comments." (setq-local comment-auto-fill-only-comments t) @@ -61,9 +49,5 @@ ;;;###autoload (add-to-list 'auto-mode-alist '("\\.proj\\'" . nxml-mode)) -(with-eval-after-load 'nxml-mode - (with-eval-after-load 'yasnippet - (oni-nxml-snippets-initialize))) - (provide 'oni-nxml) ;;; oni-nxml.el ends here diff --git a/oni-nxml/Eldev b/oni-nxml/Eldev deleted file mode 100644 index 1ba3134..0000000 --- a/oni-nxml/Eldev +++ /dev/null @@ -1,13 +0,0 @@ -; -*- mode: emacs-lisp; lexical-binding: t -*- - -;; Uncomment some calls below as needed for your project. -(eldev-use-package-archive 'gnu-elpa) -;(eldev-use-package-archive 'nongnu-elpa) -(eldev-use-package-archive 'melpa) -(eldev-use-package-archive `("oni" . ,(expand-file-name "../bin"))) - -(eldev-use-plugin 'autoloads) - -(setf eldev-files-to-package - `(:or ,eldev-files-to-package - '("*.el" "./snippets/**/*"))) diff --git a/oni-org/Eldev b/oni-org/Eldev index 7c2d187..225ee09 100644 --- a/oni-org/Eldev +++ b/oni-org/Eldev @@ -4,10 +4,12 @@ (eldev-use-package-archive 'gnu-elpa) ;(eldev-use-package-archive 'nongnu-elpa) (eldev-use-package-archive 'melpa) -(eldev-use-package-archive `("oni" . ,(expand-file-name "../bin"))) +(eldev-use-package-archive `("oni" . ,(expand-file-name "../public/packages"))) (eldev-use-local-dependency - (car (directory-files (format "%s/share/emacs/site-lisp" (getenv "GUIX_ENVIRONMENT")) + (car (directory-files (format "%s/share/emacs/site-lisp" + (or (getenv "GUIX_ENVIRONMENT") + (expand-file-name "~/.guix-profile"))) t "org-pretty-table" nil 1))) (eldev-use-plugin 'autoloads) @@ -15,6 +17,5 @@ (setf eldev-files-to-package `(:or ,eldev-files-to-package '("*.el" - "./snippets/**/*" "./icons/**/*" "./capture-templates/**/*"))) diff --git a/oni-org/capture-templates/laundry.org b/oni-org/capture-templates/laundry.org new file mode 100644 index 0000000..19b3d65 --- /dev/null +++ b/oni-org/capture-templates/laundry.org @@ -0,0 +1,23 @@ +* NEXT Wash a load of laundry +:PROPERTIES: +:CATEGORY: life +:CREATED: %U +:TRIGGER: next-sibling todo!(NEXT) +:END: +* TODO Dry a load of laundry +:PROPERTIES: +:CATEGORY: life +:CREATED: %U +:TRIGGER: next-sibling todo!(NEXT) +:END: +* TODO Fold a load of laundry +:PROPERTIES: +:CATEGORY: life +:CREATED: %U +:TRIGGER: next-sibling todo!(NEXT) +:END: +* TODO Put away a load of laundry +:PROPERTIES: +:CATEGORY: life +:CREATED: %U +:END: diff --git a/oni-org/capture-templates/morning-checklist-bedding.org b/oni-org/capture-templates/morning-checklist-bedding.org new file mode 100644 index 0000000..b3eb6ff --- /dev/null +++ b/oni-org/capture-templates/morning-checklist-bedding.org @@ -0,0 +1,5 @@ +* NEXT Kids Bedding +:PROPERTIES: +:CATEGORY: life +:CREATED: %U +:END: diff --git a/oni-org/capture-templates/morning-checklist-trash.org b/oni-org/capture-templates/morning-checklist-trash.org new file mode 100644 index 0000000..2f5e8a6 --- /dev/null +++ b/oni-org/capture-templates/morning-checklist-trash.org @@ -0,0 +1,5 @@ +* NEXT Put trash out +:PROPERTIES: +:CATEGORY: life +:CREATED: %U +:END: diff --git a/oni-org/capture-templates/morning-checklist.org b/oni-org/capture-templates/morning-checklist.org new file mode 100644 index 0000000..a8fa37b --- /dev/null +++ b/oni-org/capture-templates/morning-checklist.org @@ -0,0 +1,15 @@ +* NEXT Dishes +:PROPERTIES: +:CATEGORY: life +:CREATED: %U +:END: +* NEXT Snacks +:PROPERTIES: +:CATEGORY: life +:CREATED: %U +:END: +* NEXT Lunches +:PROPERTIES: +:CATEGORY: life +:CREATED: %U +:END: diff --git a/oni-org/oni-org.el b/oni-org/oni-org.el index d2df96b..1c6ef2f 100644 --- a/oni-org/oni-org.el +++ b/oni-org/oni-org.el @@ -4,8 +4,8 @@ ;; Author: Tom Willemse <tom@ryuslash.org> ;; Keywords: local -;; Version: 2026.0105.140349 -;; Package-Requires: (oni-yasnippet oni-hydra org org-edna diminish olivetti org-pretty-table) +;; Version: 2026.0707.150746 +;; Package-Requires: (oni-hydra org org-edna diminish olivetti) ;; 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 @@ -38,6 +38,7 @@ (require 'color) (require 'diminish) (require 'hydra) +(require 'map) (require 'ob) (require 'org) (require 'org-clock) @@ -46,10 +47,13 @@ (require 'org-faces) (require 'org-habit) (require 'org-protocol) -(require 'org-roam) (require 'range) (require 'subr-x) -(require 'yasnippet) + +(use-package org-pretty-table + :vc (:url "https://github.com/Fuco1/org-pretty-table.git" + :rev :newest) + :hook (org-mode)) ;;; Constants @@ -59,10 +63,6 @@ (buffer-file-name))) "The directory where ‘oni-org’ was loaded from.") -(defconst oni-org-snippets-dir - (expand-file-name "snippets" oni-org-root) - "The directory where ‘oni-org’ stores its snippets.") - (defconst oni-org-icons-dir (expand-file-name "icons" oni-org-root) "The directory where ‘oni-org’ stores its icons.") @@ -152,12 +152,6 @@ located at the start of the line." (setq-local yas-buffer-local-condition '(looking-back (rx line-start (one-or-more (not space)))))) -(defun oni-org-snippets-initialize () - "Initialize the snippets for ‘oni-org’." - (when (boundp 'yas-snippet-dirs) - (add-to-list 'yas-snippet-dirs oni-org-snippets-dir t)) - (yas-load-directory oni-org-snippets-dir)) - (defun oni-org-maybe-change-to-wip-state (current-state) "Change the state of the current task to in-progress CURRENT-STATE is todo." (if (and (not org-capture-mode) @@ -189,7 +183,7 @@ located at the start of the line." (if-let ((keywords (cl-remove-if (lambda (tag) (assoc tag org-todo-keyword-faces)) org-todo-keywords-1))) (append org-todo-keyword-faces - (mapcar (lambda (keyword) (cons keyword (oni-org-color-for keyword))) + (mapcar (lambda (keyword) (cons keyword (list :background (oni-org-color-for keyword) :foreground "#111414" :weight 'bold :box (yoshi-theme--make-inline-box (oni-org-color-for keyword))))) keywords)) org-todo-keyword-faces)) @@ -252,8 +246,8 @@ _di_: Add inlineimages STARTUP ("t" (org-capture nil "t")) ("A" (org-capture nil "a")) ("j" (org-capture nil "j")) - ("f" org-roam-node-find) - ("i" org-roam-node-insert) + ("f" oni-org-find-node) + ;; ("i" org-roam-node-insert) ("di" oni-org-document-add-inline-images-startup)) (defun oni-org-in-dblock-p () @@ -345,7 +339,7 @@ and not a state update." (org-update-all-dblocks))) (setq org-todo-keywords - '((sequence "TODO(t)" "WIP" "WAITING(W@)" "|" "DONE(d!)") + '((sequence "TODO(t)" "NEXT(n)" "WIP" "WAITING(W@)" "|" "DONE(d!)") (sequence "|" "CANCELLED(c@)"))) (add-hook 'org-after-todo-state-change-hook 'oni-org-todo-maybe-hide-body) @@ -372,7 +366,6 @@ and not a state update." (add-hook 'org-mode-hook 'flyspell-mode) (add-hook 'org-mode-hook 'olivetti-mode) (add-hook 'org-mode-hook 'org-indent-mode) -(add-hook 'org-mode-hook 'org-pretty-table-mode) (add-hook 'org-mode-hook 'variable-pitch-mode) (add-hook 'org-mode-hook 'visual-line-mode) (add-hook 'org-mode-hook 'yas-minor-mode) @@ -385,10 +378,6 @@ and not a state update." ;;;###autoload (global-set-key (kbd "C-<home>") #'oni-org-open-index) -(with-eval-after-load 'org - (with-eval-after-load 'yasnippet - (oni-org-snippets-initialize))) - (with-eval-after-load 'org-edna (diminish 'org-edna-mode)) (with-eval-after-load 'org-id @@ -467,6 +456,12 @@ and not a state update." display-buffer-in-previous-window (inhibit-same-window . t))) +;;;;; Custom Commands + +(setf (map-elt org-agenda-custom-commands "n") + '("NEXT items" + ((todo "NEXT")))) + ;;;; Capture (require 'org-capture) @@ -995,27 +990,9 @@ This is done by adding a ‘:hidden t’ header argument to the code block." ,(/ (length text) 2))))) text)) -(defmacro oni-org--map-put (collection key value) - "The result of ‘(setf (map-elt ...) ...)’ on a list. -Trying to byte-compile the above form doesn't work at the moment. -This is a temporary hack to make sure I don't have to repeat this -same code all the time." - (declare (indent 2)) - (let ((key-name (gensym)) - (value-name (gensym))) - `(let ((,key-name ,key) - (,value-name ,value)) - (condition-case nil - (with-no-warnings - (map-put! ,collection ,key-name ,value-name nil)) - (map-not-inplace - (setq ,collection - (map-insert ,collection ,key-name ,value-name)) - ,value-name))))) - (defvar oni-org--capture-D-date nil) -(oni-org--map-put org-capture-templates "D" - '("A DONE item for my to-done list." entry (file oni-org-todo-main-file) "* DONE %? +(setf (map-elt org-capture-templates "D") + '("A DONE item for my to-done list." entry (file oni-org-todo-main-file) "* DONE %? CLOSED: %(setq oni-org--capture-D-date (format-time-string (org-time-stamp-format t t) (org-read-date t t nil \"Date: \"))) :PROPERTIES: :CREATED: %(progn oni-org--capture-D-date) @@ -1023,22 +1000,95 @@ CLOSED: %(setq oni-org--capture-D-date (format-time-string (org-time-stamp-forma :LOGBOOK: - State \"DONE\" from \"TODO\" %(progn oni-org--capture-D-date) :END:" - :after-finalize (lambda () (setq oni-org--capture-D-date nil)))) + :after-finalize (lambda () (setq oni-org--capture-D-date nil)))) -(oni-org--map-put org-capture-templates "t" - '("A simple TODO item." entry (file "") "* TODO %? +(setf (map-elt org-capture-templates "t") + '("A simple TODO item." entry (file "") "* TODO %? :PROPERTIES: :CREATED: %U :END:")) -(oni-org--map-put org-capture-templates "U" - '("A TODO capture from the browser." entry (file "") "* TODO %:description +(setf (map-elt org-capture-templates "U") + '("A TODO capture from the browser." entry (file "") "* TODO %:description :PROPERTIES: :CREATED: %U :END: %:link" - :immediate-finish t)) + :immediate-finish t)) + +(defun oni-org-find-new-note-file () + (let ((title (read-string "Title: "))) + (find-file (expand-file-name (format "reference/%s-%s.org" + (format-time-string "%Y%m%d%H%M%S") + (replace-regexp-in-string + (rx whitespace) "-" + (replace-regexp-in-string + (rx (not (any whitespace alnum))) + "" + (downcase title)))) + oni-org-todo-dir)) + (setq-local oni-org--capture-page-title title))) + +(setf (map-elt org-capture-templates "p") + '("A note page." plain (function oni-org-find-new-note-file) "#+TITLE: %(with-current-buffer (org-capture-get :buffer) oni-org--capture-page-title) +#+DATE: %U + +%?" + :after-finalize (lambda () (when org-note-abort + (delete-file (buffer-file-name (org-capture-get :buffer)) t) + (kill-buffer (org-capture-get :buffer)))))) + +(setf (map-elt org-capture-templates "c") + '("Chores")) + +(setf (map-elt org-capture-templates "cl") + `("Laundry" entry (file ,oni-org-todo-main-file) + (file ,(expand-file-name "laundry.org" oni-org-capture-template-directory)) + :immediate-finish t)) + +(defun oni-org-get-morning-checklist () + "Get the template for my morning checklist." + (let ((template (org-file-contents + (expand-file-name "morning-checklist.org" oni-org-capture-template-directory)))) + (if (= 1 (decoded-time-weekday (decode-time))) + (concat template + (org-file-contents + (expand-file-name "morning-checklist-bedding.org" oni-org-capture-template-directory))) + (if (= 2 (decoded-time-weekday (decode-time))) + (concat template + (org-file-contents + (expand-file-name "morning-checklist-trash.org" oni-org-capture-template-directory))) + template)))) + +(setf (map-elt org-capture-templates "cm") + `("Morning Checklist" entry (file ,oni-org-todo-main-file) + (function oni-org-get-morning-checklist) + :immediate-finish t)) + +(defun oni-org-insert-link (title entry) + (interactive + (let ((collection (mapcar + (lambda (entry) + (list (org-mem-entry-title entry) + entry)) + (seq-filter (lambda (entry) + (not (string-search "archive" (org-mem-entry-file entry)))) + (org-mem-all-entries))))) + (assoc (completing-read "To: " collection) collection))) + (insert (if (> (org-mem-entry-level entry) 0) + (format "[[file:%s::%s][%s]]" + (file-relative-name (org-mem-entry-file entry)) + title + title) + (format "[[file:%s][%s]]" + (file-relative-name (org-mem-entry-file entry)) + title)))) + +(defun oni-org-find-node () + (interactive) + (let ((entries (mapcar (lambda (x) (cons (org-mem-title x) (org-mem-file x))) (org-mem-all-entries)))) + (find-file (map-elt entries (completing-read "Header: " entries))))) ;;; Mastodon post dynamic block diff --git a/oni-outline.el b/oni-outline.el new file mode 100644 index 0000000..4d12073 --- /dev/null +++ b/oni-outline.el @@ -0,0 +1,38 @@ +;;; oni-outline.el --- Outline mode configuration -*- lexical-binding: t; -*- + +;; Copyright (C) 2026 Tom Willemse + +;; Author: Tom Willemse <tom@ryuslash.org> +;; Keywords: local +;; Version: 2026.0401.112746 + +;; 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 +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see <https://www.gnu.org/licenses/>. + +;;; Commentary: + +;; Configuration for ‘outline-minor-mode’. + +;;; Code: + +(require 'outline) + +(define-key outline-minor-mode-map + (kbd "TAB") + '(menu-item "" nil + :filter (lambda (&optional _) + (when (outline-on-heading-p) + 'outline-cycle)))) + +(provide 'oni-outline) +;;; oni-outline.el ends here diff --git a/oni-php/Eldev b/oni-php/Eldev index 1ba3134..2956775 100644 --- a/oni-php/Eldev +++ b/oni-php/Eldev @@ -4,10 +4,10 @@ (eldev-use-package-archive 'gnu-elpa) ;(eldev-use-package-archive 'nongnu-elpa) (eldev-use-package-archive 'melpa) -(eldev-use-package-archive `("oni" . ,(expand-file-name "../bin"))) +(eldev-use-package-archive `("oni" . ,(expand-file-name "../public/packages"))) (eldev-use-plugin 'autoloads) (setf eldev-files-to-package `(:or ,eldev-files-to-package - '("*.el" "./snippets/**/*"))) + '("*.el" "scripts/*"))) diff --git a/oni-php/oni-php.el b/oni-php/oni-php.el index 88af7af..89b53c6 100644 --- a/oni-php/oni-php.el +++ b/oni-php/oni-php.el @@ -4,8 +4,8 @@ ;; Author: Tom Willemse <tom@ryuslash.org> ;; Keywords: local -;; Version: 2026.0107.143829 -;; Package-Requires: (php-mode oni-yasnippet oni-flycheck oni-company oni-hydra oni-smartparens ggtags fic-mode company-php rainbow-delimiters rainbow-identifiers) +;; Version: 2026.0629.012633 +;; Package-Requires: (php-mode oni-flycheck oni-hydra fic-mode rainbow-delimiters rainbow-identifiers) ;; 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 @@ -28,11 +28,12 @@ ;;; Code: (require 'align) -(require 'company) +(require 'grep) (require 'hydra) +(require 'map) (require 'php-mode) +(require 'project) (require 'whitespace) -(require 'yasnippet) (defconst oni-php-root (file-name-directory @@ -40,20 +41,10 @@ (buffer-file-name))) "The directory where ‘oni-php’ was loaded from.") -(defconst oni-php-snippets-dir - (expand-file-name "snippets" oni-php-root) - "The directory where ‘oni-php’ stores its snippets.") - (defconst oni-php-scripts-dir (expand-file-name "scripts" oni-php-root) "The directory where ‘oni-php’ stores its scripts.") -(defun oni-php-snippets-initialize () - "Initialize the snippets for ‘oni-php’." - (when (boundp 'yas-snippet-dirs) - (add-to-list 'yas-snippet-dirs oni-php-snippets-dir)) - (yas-load-directory oni-php-snippets-dir)) - (defun oni-php--set-require-final-newline () "Set `require-final-newline' to t. This is necessary because the PHP mode configuration sets this to @@ -79,7 +70,7 @@ nil for some reason." (defun oni-php-add-use (class) "Try to add a use statement for CLASS under point." - (interactive (list (symbol-name (symbol-at-point)))) + (interactive (list (thing-at-point 'symbol))) (let* ((default-directory (project-root (project-current))) (classes (read (shell-command-to-string (concat (expand-file-name "find-php-class" oni-php-scripts-dir) " " class)))) (class (cond @@ -97,19 +88,31 @@ nil for some reason." (forward-line) (insert "\n")) - (unless (search-backward class nil t) + (unless (re-search-backward (rx "use " (literal class) ";") nil t) (let ((start (point))) (insert "use " class ";\n") (pulse-momentary-highlight-region start (point))))))) +(defun oni-php--syntax-in-string-p (syntax) + "Does SYNTAX indicate point is inside a string?" + (nth 3 syntax)) + +(defun oni-php--syntax-in-comment-p (syntax) + "Does SYNTAX indicate point is inside a comment?" + (nth 4 syntax)) + +(defun oni-php--in-string-or-comment-p () + "Return whether or not point is within a string or comment." + (let ((syntax (syntax-ppss))) + (or (oni-php--syntax-in-string-p syntax) + (oni-php--syntax-in-comment-p syntax)))) + (defun oni-php-insert-dot-dwim (N) "Insert either a concatenation or access operator depending on context. Do the insert N times." (interactive "p") - (if (or (let ((syntax (syntax-ppss))) - (or (nth 3 syntax) - (nth 4 syntax))) + (if (or (oni-php--in-string-or-comment-p) (save-excursion (skip-syntax-backward " ") (nth 3 (syntax-ppss (1- (point))))) @@ -117,7 +120,11 @@ Do the insert N times." (skip-syntax-forward " ") (nth 3 (syntax-ppss (1+ (point)))))) (self-insert-command N) - (dotimes (_ N) (insert "->")))) + (let ((op (if (looking-back (rx (or "$" ")") (zero-or-more (any whitespace "\n" alnum "(" ")" "->"))) + (save-excursion (backward-paragraph) (point))) + "->" + "::"))) + (dotimes (_ N) (insert op))))) (defun oni-php-doc-comment () "Insert a PHP documentation comment at point." @@ -129,17 +136,88 @@ Do the insert N times." (indent-region start (point)) (goto-char insert-marker)))) +(defun oni-php-doc-use-comment () + "Insert a PHP documentation comment for a use statement." + (interactive) + (let ((start (point)) + (class (save-excursion + (save-match-data + (search-forward-regexp (rx "use " (group (minimal-match (zero-or-more alnum))) ";")) + (match-string 1))))) + (insert "/**\n * @use " class) + (let ((insert-marker (point-marker))) + (insert "\n */") + (indent-region start (point)) + (goto-char insert-marker)))) + +(defun oni-php-return-belongs-to-comment () + "Insert a PHP documentation comment for a BelongsTo return type." + (interactive) + (let ((start (point))) + (insert "/**\n * @return BelongsTo<") + (save-excursion + (insert ", $this>\n */") + (indent-region start (point))))) + (defun oni-php-comment-dwim (func &rest args) "See if a PHP documentation comment should be added and add it. Otherwise call FUNC with ARGS. This is meant as advice around ‘comment-dwim’ to make it smarter for PHP code." - (if (and (derived-mode-p 'php-mode) - (looking-back (rx (minimal-match (zero-or-more blank))) (line-beginning-position)) - (looking-at (rx (minimal-match (zero-or-more (any whitespace "\n"))) - (or (regexp php-beginning-of-defun-regexp) - (regexp php--re-classlike-pattern))))) - (oni-php-doc-comment) - (apply func args))) + (cond ((looking-at (rx (minimal-match (zero-or-more (any whitespace "\n"))) + "use ")) + (oni-php-doc-use-comment)) + ((looking-at (rx (minimal-match (zero-or-more (any whitespace "\n"))) + (one-or-more nonl) ": BelongsTo" eol)) + (oni-php-return-belongs-to-comment)) + ((and (derived-mode-p 'php-mode) + (not (region-active-p)) + (looking-back (rx (minimal-match (zero-or-more blank))) (line-beginning-position)) + (looking-at (rx (minimal-match (zero-or-more (any whitespace "\n"))) + (or (regexp php-beginning-of-defun-regexp) + (regexp php--re-classlike-pattern))))) + (oni-php-doc-comment)) + (t (apply func args)))) + +(defun oni-php-generate-namespace () + (string-join + (mapcar + (lambda (s) + (let ((case-fold-search nil)) + (if (string-match-p (rx upper-case) s) + s + (capitalize s)))) + (cdr (split-string + (directory-file-name + (file-name-directory + (file-relative-name + buffer-file-name + (project-root (project-current))))) + "/"))) + "\\")) + +(defun oni-php-set-dabbrev-settings () + "Set any settings for dabbrev that make sense for PHP code." + (setq-local dabbrev-abbrev-skip-leading-regexp (rx "$"))) + +(defun oni-php-ignore-error-at-point (error-type) + (interactive + (list (let* ((error-types + (seq-uniq + (mapcar (lambda (e) + (let ((str (flycheck-error-message e))) + (string-match (rx "🪪" (one-or-more whitespace) (group (one-or-more (any alnum ".")))) str) + (match-string 1 str))) + (seq-filter (lambda (e) (not (flycheck-error-checker e))) + (flycheck-overlay-errors-at (point)))) + 'string=))) + (if (> 1 (length error-types)) + (completing-read "Ignore type: " error-types) + (car error-types))))) + (save-excursion + (goto-char (line-beginning-position)) + (indent-for-tab-command) + (insert "/** @phpstan-ignore " error-type " */\n") + (indent-for-tab-command))) (defhydra php-mode-hydra (:color blue) ("a" align-current "Align current selection")) @@ -148,22 +226,19 @@ Otherwise call FUNC with ARGS. This is meant as advice around (add-hook 'php-mode-hook #'oni-php--set-require-final-newline) (add-hook 'php-mode-hook #'oni-php--whitespace-mode) -(add-hook 'php-mode-hook 'company-mode) (add-hook 'php-mode-hook 'display-fill-column-indicator-mode) (add-hook 'php-mode-hook 'electric-indent-local-mode) (add-hook 'php-mode-hook 'fic-mode) (add-hook 'php-mode-hook 'flycheck-mode) -(add-hook 'php-mode-hook 'ggtags-mode) (add-hook 'php-mode-hook 'oni-php--auto-fill-mode) +(add-hook 'php-mode-hook 'oni-php-set-dabbrev-settings) (add-hook 'php-mode-hook 'oni-php-set-rainbow-identifier-faces) (add-hook 'php-mode-hook 'rainbow-delimiters-mode) (add-hook 'php-mode-hook 'rainbow-identifiers-mode) (add-hook 'php-mode-hook 'smartparens-mode) (add-hook 'php-mode-hook 'subword-mode) (add-hook 'php-mode-hook 'yas-minor-mode) - -(with-eval-after-load 'company - (add-to-list 'company-backends 'company-ac-php-backend)) +(add-hook 'php-mode-hook 'corfu-mode) (define-key php-mode-map (kbd "C-c m") #'php-mode-hydra/body) (define-key php-mode-map (kbd ".") #'oni-php-insert-dot-dwim) @@ -181,7 +256,7 @@ Otherwise call FUNC with ARGS. This is meant as advice around `(php-array-arrow (regexp . ,(rx any (group (zero-or-more whitespace)) "=>" any)) (group . (1)) - (modes . '(php-mode web-mode)) + (modes . '(php-mode web-mode php-mode)) (repeat . t))) ;; The WordPress coding standards specify that multiple assignments @@ -197,13 +272,9 @@ Otherwise call FUNC with ARGS. This is meant as advice around (regexp . ,(rx any (group (zero-or-more whitespace)) "=" (zero-or-more whitespace) any)) (group . (1)) - (modes . '(php-mode web-mode)) + (modes . '(php-mode web-mode php-ts-mode)) (repeat . t))) -(with-eval-after-load 'php-mode - (with-eval-after-load 'yasnippet - (oni-php-snippets-initialize))) - ;;;###autoload (add-to-list 'auto-mode-alist '("\\.inc\\'" . php-mode)) @@ -215,13 +286,25 @@ Otherwise call FUNC with ARGS. This is meant as advice around (add-to-list 'grep-files-aliases '("php" . "*.php *.inc *.module"))) (with-eval-after-load 'autoinsert - (setf (map-elt auto-insert-alist (rx "Test.php" eos)) + (setf (map-elt auto-insert-alist (rx ".php" eos)) '(nil "<?php\n" "\n" "declare(strict_types=1);\n" "\n" - "namespace " (string-join (mapcar #'capitalize (cdr (split-string (directory-file-name (file-name-directory (file-relative-name buffer-file-name (project-root (project-current))))) "/"))) "\\") ";\n" + "namespace " (oni-php-generate-namespace) ";\n" + "\n" + "class " (file-name-sans-extension (file-name-nondirectory (buffer-file-name))) "\n" + "{\n" + > _ "\n" + "}\n") + (map-elt auto-insert-alist (rx "Test.php" eos)) + '(nil + "<?php\n" + "\n" + "declare(strict_types=1);\n" + "\n" + "namespace " (oni-php-generate-namespace) ";\n" "\n" "use Illuminate\\Foundation\\Testing\\RefreshDatabase;\n" "use Illuminate\\Foundation\\Testing\\WithFaker;\n" @@ -248,5 +331,23 @@ Otherwise call FUNC with ARGS. This is meant as advice around (defun oni-php-in-static-call-context-p () (looking-back "::\\w+" (- (point) (line-beginning-position)))) +(defun oni-php-grep-symbol (symbol) + "Use ‘rgrep’ to find SYMBOL. +If there is an active region when this command is called interactively +SYMBOL will be the text in the region. Otherwise it's the symbol at +point." + (interactive (list + (if (region-active-p) + (buffer-substring-no-properties (region-beginning) (region-end)) + (thing-at-point 'symbol)))) + (rgrep (rx (literal symbol)) + (map-elt grep-files-aliases "php") + (project-root (project-current)))) + +(define-key php-mode-map (kbd "C-c .") nil t) +(define-key php-mode-map (kbd "C-c . g") '("Search for symbol at point" . oni-php-grep-symbol)) +(define-key php-mode-map (kbd "C-c . a") '("Import symbol at point" . oni-php-add-use)) +(define-key php-mode-map (kbd "C-c . i") '("Ignore error at point" . oni-php-ignore-error-at-point)) + (provide 'oni-php) ;;; oni-php.el ends here diff --git a/oni-php/scripts/find-php-class b/oni-php/scripts/find-php-class index d8795c2..d38cb13 100755 --- a/oni-php/scripts/find-php-class +++ b/oni-php/scripts/find-php-class @@ -4,7 +4,10 @@ (define (main args) (let* ((class-name (cadr args)) (file-names - (run/strings (find "." -type f -name ,(string-append class-name ".php") + (run/strings (find "." + -path "./cdk.out" -prune -o + -type f + -name ,(string-append class-name ".php") -exec grep "^namespace" "{}" ";") (> 2 "/dev/null")))) (format #t "~s" diff --git a/oni-php/snippets/php-mode/namespace b/oni-php/snippets/php-mode/namespace deleted file mode 100644 index 01abd02..0000000 --- a/oni-php/snippets/php-mode/namespace +++ /dev/null @@ -1,9 +0,0 @@ -# -*- mode: snippet -*- -# name: namespace -# key: ns -# -- -namespace ${1:`(string-join - (mapcar - (lambda (s) (let ((case-fold-search nil)) (if (string-match-p (rx upper-case) s) s (capitalize s)))) - (cdr (split-string (directory-file-name (file-name-directory (file-relative-name buffer-file-name (project-root (project-current))))) "/"))) - "\\")`};
\ No newline at end of file diff --git a/oni-project.el b/oni-project.el index 6e6e7e5..04d1890 100644 --- a/oni-project.el +++ b/oni-project.el @@ -4,7 +4,7 @@ ;; Author: Tom Willemse <tom@ryuslash.org> ;; Keywords: local -;; Version: 2025.1021.110735 +;; Version: 2026.0308.033749 ;; 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 @@ -63,5 +63,7 @@ already exists." (define-key project-prefix-map (kbd "t") #'oni-project-vterm) (add-to-list 'project-switch-commands '(oni-project-vterm "Terminal"))) +(setq project-vc-extra-root-markers '(".wakatime-project")) + (provide 'oni-project) ;;; oni-project.el ends here diff --git a/oni-python/oni-python.el b/oni-python.el index 9e8c9c2..c261899 100644 --- a/oni-python/oni-python.el +++ b/oni-python.el @@ -4,8 +4,8 @@ ;; Author: Tom Willemse <tom@ryuslash.org> ;; Keywords: local -;; Version: 2024.0621.092608 -;; Package-Requires: (oni-yasnippet oni-company oni-flycheck oni-hydra oni-lsp rainbow-delimiters reformatter) +;; Version: 2026.0527.003213 +;; Package-Requires: (oni-company oni-flycheck oni-hydra oni-lsp rainbow-delimiters reformatter) ;; 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 @@ -39,7 +39,6 @@ (require 'python) (require 'reformatter) (require 'whitespace) -(require 'yasnippet) ;; Don't mind if treesit can't be loaded, maybe this Emacs doesn't have it. (require 'treesit nil t) @@ -52,10 +51,6 @@ (buffer-file-name))) "The directory where ‘oni-python’ was loaded from.") -(defconst oni-python-snippets-dir - (expand-file-name "snippets" oni-python-root) - "The directory where ‘oni-python’ stores its snippets.") - (defun oni-python-set-fill-column () "Set the `fill-column' and `comment-fill-column' for the current buffer. @@ -63,12 +58,6 @@ The values are taken from the PEP8 coding standard for Python." (setq-local fill-column 80) (setq-local comment-fill-column 72)) -(defun oni-python-snippets-initialize () - "Initialize the snippets for ‘oni-python’." - (when (boundp 'yas-snippet-dirs) - (add-to-list 'yas-snippet-dirs oni-python-snippets-dir)) - (yas-load-directory oni-python-snippets-dir)) - (defun oni-python-whitespace-mode () "Set the `whitespace-style' to show the relevat whitespace. In Python buffers it should show any tabs being used and and used @@ -107,9 +96,5 @@ for indentation." (add-to-list 'major-mode-remap-alist '(python-mode . python-ts-mode)) (oni-python--enable-hooks 'python-ts-mode-hook)) -(with-eval-after-load 'python - (with-eval-after-load 'yasnippet - (oni-python-snippets-initialize))) - (provide 'oni-python) ;;; oni-python.el ends here diff --git a/oni-python/Eldev b/oni-python/Eldev deleted file mode 100644 index 1ba3134..0000000 --- a/oni-python/Eldev +++ /dev/null @@ -1,13 +0,0 @@ -; -*- mode: emacs-lisp; lexical-binding: t -*- - -;; Uncomment some calls below as needed for your project. -(eldev-use-package-archive 'gnu-elpa) -;(eldev-use-package-archive 'nongnu-elpa) -(eldev-use-package-archive 'melpa) -(eldev-use-package-archive `("oni" . ,(expand-file-name "../bin"))) - -(eldev-use-plugin 'autoloads) - -(setf eldev-files-to-package - `(:or ,eldev-files-to-package - '("*.el" "./snippets/**/*"))) diff --git a/oni-ruby/oni-ruby.el b/oni-ruby.el index 056a2a6..04ccab9 100644 --- a/oni-ruby/oni-ruby.el +++ b/oni-ruby.el @@ -4,8 +4,8 @@ ;; Author: Tom Willemse <tom@ryuslash.org> ;; Keywords: local -;; Version: 2021.1201.134041 -;; Package-Requires: (ruby-mode oni-yasnippet) +;; Version: 2026.0527.003231 +;; Package-Requires: (ruby-mode) ;; 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 @@ -26,24 +26,12 @@ ;;; Code: -(require 'yasnippet) - (defconst oni-ruby-root (file-name-directory (or load-file-name (buffer-file-name))) "The directory where ‘oni-ruby’ was loaded from.") -(defconst oni-ruby-snippets-dir - (expand-file-name "snippets" oni-ruby-root) - "The directory where ‘oni-ruby’ stores its snippets.") - -(defun oni-ruby-snippets-initialize () - "Initialize the snippets for ‘oni-ruby’." - (when (boundp 'yas-snippet-dirs) - (add-to-list 'yas-snippet-dirs oni-ruby-snippets-dir)) - (yas-load-directory oni-ruby-snippets-dir)) - (defun oni-ruby--auto-fill-mode () "Enable ‘auto-fill-mode’ only for comments." (setq-local comment-auto-fill-only-comments t) @@ -54,9 +42,5 @@ (add-hook 'ruby-mode-hook 'electric-pair-local-mode) (add-hook 'ruby-mode-hook 'oni-ruby--auto-fill-mode) -(with-eval-after-load 'ruby-mode - (with-eval-after-load 'yasnippet - (oni-ruby-snippets-initialize))) - (provide 'oni-ruby) ;;; oni-ruby.el ends here diff --git a/oni-ruby/Eldev b/oni-ruby/Eldev deleted file mode 100644 index 1ba3134..0000000 --- a/oni-ruby/Eldev +++ /dev/null @@ -1,13 +0,0 @@ -; -*- mode: emacs-lisp; lexical-binding: t -*- - -;; Uncomment some calls below as needed for your project. -(eldev-use-package-archive 'gnu-elpa) -;(eldev-use-package-archive 'nongnu-elpa) -(eldev-use-package-archive 'melpa) -(eldev-use-package-archive `("oni" . ,(expand-file-name "../bin"))) - -(eldev-use-plugin 'autoloads) - -(setf eldev-files-to-package - `(:or ,eldev-files-to-package - '("*.el" "./snippets/**/*"))) diff --git a/oni-scheme.el b/oni-scheme.el index 6c48414..cc0f553 100644 --- a/oni-scheme.el +++ b/oni-scheme.el @@ -4,7 +4,7 @@ ;; Author: Tom Willemse <tom@ryuslash.org> ;; Keywords: local -;; Version: 2025.0602.150536 +;; Version: 2026.0714.001608 ;; Package-Requires: (oni-company oni-paredit rainbow-delimiters geiser geiser-guile) ;; This program is free software; you can redistribute it and/or modify @@ -50,37 +50,36 @@ (make-local-variable 'minor-mode-overriding-map-alist) (push `(paredit-mode . ,newmap) minor-mode-overriding-map-alist))) +(defconst +oni-scheme-import-display+ " …" + "What to display instead of the scheme imports.") + (defun oni-scheme-toggle-import-display () (interactive) - (let ((start (get-text-property (point) 'oni-scheme-import-start)) - (end (get-text-property (point) 'oni-scheme-import-end)) - (visiblep (not (string= " ..." (get-text-property (point) 'display))))) - (with-silent-modifications - (unwind-protect - (progn - (buffer-disable-undo) - (put-text-property start end 'display (if visiblep " ..." nil))) - (buffer-enable-undo))))) + (let* ((overlay (seq-find (lambda (o) (overlay-get o 'oni-scheme-hidden-imports)) + (overlays-at (point)))) + (visiblep (not (string= +oni-scheme-import-display+ + (overlay-get overlay 'display))))) + (overlay-put overlay 'display (if visiblep +oni-scheme-import-display+ nil)))) (defun oni-scheme-hide-guile-imports () "Hide the imports in ‘define-module’." (save-excursion (let (start end) (goto-char (point-min)) - (when (search-forward "(define-module" nil t) - (forward-char -14) + (when (re-search-forward (rx "(" (or "define-module" + "use-modules")) + nil t) + (forward-char (- (length (match-string 0)))) (setq start (line-end-position)) (forward-sexp) (setq end (1- (point))) - (with-silent-modifications - (unwind-protect - (progn - (buffer-disable-undo) - (set-text-properties start end `(display " ..." - keymap ,oni-scheme-hidden-imports-keymap - oni-scheme-import-start ,start - oni-scheme-import-end ,end))) - (buffer-enable-undo))))))) + (dolist (o (overlays-in start end)) + (when (overlay-get o 'oni-scheme-hidden-imports) + (delete-overlay o))) + (let ((overlay (make-overlay start end nil nil t))) + (overlay-put overlay 'oni-scheme-hidden-imports t) + (overlay-put overlay 'display +oni-scheme-import-display+) + (overlay-put overlay 'keymap oni-scheme-hidden-imports-keymap)))))) (add-hook 'scheme-mode-hook 'company-mode) (add-hook 'scheme-mode-hook 'display-fill-column-indicator-mode) diff --git a/oni-sql.el b/oni-sql.el new file mode 100644 index 0000000..c396019 --- /dev/null +++ b/oni-sql.el @@ -0,0 +1,43 @@ +;;; oni-sql.el --- Configuration for SQL-mode -*- lexical-binding: t; -*- + +;; Copyright (C) 2026 Tom Willemse + +;; Author: Tom Willemse <tom@ryuslash.org> +;; Keywords: local +;; Version: 2026.0406.121459 + +;; 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 +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see <https://www.gnu.org/licenses/>. + +;;; Commentary: + +;; Configuration for ‘sql-mode’. + +;;; Code: + +(require 'sql) + +(define-key sql-mode-map (kbd "C-c C-b") 'sql-set-sqli-buffer) + +(defun oni-sql-send-input () + (interactive nil sql-interactive-mode) + (outline-hide-body) + (comint-send-input)) + +(add-hook 'sql-mode-hook 'outline-minor-mode) +(add-hook 'sql-interactive-mode-hook 'outline-minor-mode) + +(define-key sql-interactive-mode-map (kbd "RET") 'oni-sql-send-input) + +(provide 'oni-sql) +;;; oni-sql.el ends here diff --git a/oni-twig/oni-twig.el b/oni-twig.el index ed147bf..5f569d8 100644 --- a/oni-twig/oni-twig.el +++ b/oni-twig.el @@ -4,8 +4,8 @@ ;; Author: Tom Willemse <tom@ryuslash.org> ;; Keywords: local -;; Version: 2021.1201.134109 -;; Package-Requires: (twig-mode oni-yasnippet) +;; Version: 2026.0527.003251 +;; Package-Requires: (twig-mode) ;; 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 @@ -26,24 +26,12 @@ ;;; Code: -(require 'yasnippet) - (defconst oni-twig-root (file-name-directory (or load-file-name (buffer-file-name))) "The directory where ‘oni-twig’ was loaded from.") -(defconst oni-twig-snippets-dir - (expand-file-name "snippets" oni-twig-root) - "The directory where ‘oni-twig’ stores its snippets.") - -(defun oni-twig-snippets-initialize () - "Initialize the snippets for ‘oni-twig’." - (when (boundp 'yas-snippet-dirs) - (add-to-list 'yas-snippet-dirs oni-twig-snippets-dir)) - (yas-load-directory oni-twig-snippets-dir)) - (defun oni-twig--auto-fill-mode () "Enable ‘auto-fill-mode’ only for comments." (setq-local comment-auto-fill-only-comments t) @@ -51,9 +39,5 @@ (add-hook 'twig-mode-hook 'oni-twig--auto-fill-mode) -(with-eval-after-load 'twig-mode - (with-eval-after-load 'yasnippet - (oni-twig-snippets-initialize))) - (provide 'oni-twig) ;;; oni-twig.el ends here diff --git a/oni-twig/Eldev b/oni-twig/Eldev deleted file mode 100644 index 1ba3134..0000000 --- a/oni-twig/Eldev +++ /dev/null @@ -1,13 +0,0 @@ -; -*- mode: emacs-lisp; lexical-binding: t -*- - -;; Uncomment some calls below as needed for your project. -(eldev-use-package-archive 'gnu-elpa) -;(eldev-use-package-archive 'nongnu-elpa) -(eldev-use-package-archive 'melpa) -(eldev-use-package-archive `("oni" . ,(expand-file-name "../bin"))) - -(eldev-use-plugin 'autoloads) - -(setf eldev-files-to-package - `(:or ,eldev-files-to-package - '("*.el" "./snippets/**/*"))) diff --git a/oni-bats/Eldev b/oni-yasnippet/Eldev index 1ba3134..b6bdf4c 100644 --- a/oni-bats/Eldev +++ b/oni-yasnippet/Eldev @@ -4,10 +4,10 @@ (eldev-use-package-archive 'gnu-elpa) ;(eldev-use-package-archive 'nongnu-elpa) (eldev-use-package-archive 'melpa) -(eldev-use-package-archive `("oni" . ,(expand-file-name "../bin"))) +(eldev-use-package-archive `("oni" . ,(expand-file-name "../public/packages"))) (eldev-use-plugin 'autoloads) (setf eldev-files-to-package `(:or ,eldev-files-to-package - '("*.el" "./snippets/**/*"))) + '("*.el" "snippets/**/*"))) diff --git a/oni-yasnippet.el b/oni-yasnippet/oni-yasnippet.el index 584d909..11e96f7 100644 --- a/oni-yasnippet.el +++ b/oni-yasnippet/oni-yasnippet.el @@ -4,7 +4,7 @@ ;; Author: Tom Willemse <tom@ryuslash.org> ;; Keywords: local -;; Version: 2023.1212.085307 +;; Version: 2026.0528.021141 ;; Package-Requires: (yasnippet yasnippet-snippets diminish) ;; This program is free software; you can redistribute it and/or modify @@ -34,6 +34,20 @@ (require 'yasnippet) (require 'diminish) +(defconst oni-yasnippet-root + (file-name-directory + (or load-file-name + (buffer-file-name))) + "The directory where ‘oni-yasnippet’ was loaded from.") + +(defconst oni-yasnippet-snippets-dir + (expand-file-name "snippets" oni-yasnippet-root)) + +(defun oni-yasnippet-snippets-initialize () + "Initialize the snippets for ‘oni-yasnippet’." + (when (boundp 'yas-snippet-dirs) + (add-to-list 'yas-snippet-dirs oni-yasnippet-snippets-dir t))) + (defun oni-yasnippet-remove-snippet-by-name (name mode) "Remove the snippet NAME from MODE's snippet tables." (and-let* ((mode-table (gethash mode yas--tables)) @@ -57,6 +71,7 @@ (define-key yas-minor-mode-map (kbd "SPC") yas-maybe-expand) (define-key yas-minor-mode-map (kbd "TAB") nil) +(add-hook 'yas-minor-mode-hook #'oni-yasnippet-snippets-initialize) (add-hook 'yas-after-reload-hook #'oni-yasnippet-cleanup-snippets) (provide 'oni-yasnippet) diff --git a/oni-bats/snippets/bats-mode/test b/oni-yasnippet/snippets/bats-mode/test index 8a2f028..8a2f028 100644 --- a/oni-bats/snippets/bats-mode/test +++ b/oni-yasnippet/snippets/bats-mode/test diff --git a/oni-conf/snippets/conf-mode/section b/oni-yasnippet/snippets/conf-mode/section index 496e4fd..496e4fd 100644 --- a/oni-conf/snippets/conf-mode/section +++ b/oni-yasnippet/snippets/conf-mode/section diff --git a/oni-csharp/snippets/csharp-mode/testm b/oni-yasnippet/snippets/csharp-mode/testm index 4bd243d..4bd243d 100644 --- a/oni-csharp/snippets/csharp-mode/testm +++ b/oni-yasnippet/snippets/csharp-mode/testm diff --git a/oni-css/snippets/css-mode/box-shadow b/oni-yasnippet/snippets/css-mode/box-shadow index 82fe9d5..82fe9d5 100644 --- a/oni-css/snippets/css-mode/box-shadow +++ b/oni-yasnippet/snippets/css-mode/box-shadow diff --git a/oni-elisp/snippets/emacs-lisp-mode/cookie b/oni-yasnippet/snippets/emacs-lisp-mode/cookie index 6fafd3c..6fafd3c 100644 --- a/oni-elisp/snippets/emacs-lisp-mode/cookie +++ b/oni-yasnippet/snippets/emacs-lisp-mode/cookie diff --git a/oni-elisp/snippets/emacs-lisp-mode/depends-on b/oni-yasnippet/snippets/emacs-lisp-mode/depends-on index 4f99d92..4f99d92 100644 --- a/oni-elisp/snippets/emacs-lisp-mode/depends-on +++ b/oni-yasnippet/snippets/emacs-lisp-mode/depends-on diff --git a/oni-elisp/snippets/emacs-lisp-mode/depends-on-git b/oni-yasnippet/snippets/emacs-lisp-mode/depends-on-git index 1da2f31..1da2f31 100644 --- a/oni-elisp/snippets/emacs-lisp-mode/depends-on-git +++ b/oni-yasnippet/snippets/emacs-lisp-mode/depends-on-git diff --git a/oni-elisp/snippets/emacs-lisp-mode/face b/oni-yasnippet/snippets/emacs-lisp-mode/face index 9fdbbb2..9fdbbb2 100644 --- a/oni-elisp/snippets/emacs-lisp-mode/face +++ b/oni-yasnippet/snippets/emacs-lisp-mode/face diff --git a/oni-haml/snippets/haml-mode/faq b/oni-yasnippet/snippets/haml-mode/faq index 4d1a9e2..4d1a9e2 100644 --- a/oni-haml/snippets/haml-mode/faq +++ b/oni-yasnippet/snippets/haml-mode/faq diff --git a/oni-html/snippets/html-mode/block b/oni-yasnippet/snippets/html-mode/block index 6510011..6510011 100644 --- a/oni-html/snippets/html-mode/block +++ b/oni-yasnippet/snippets/html-mode/block diff --git a/oni-html/snippets/html-mode/for b/oni-yasnippet/snippets/html-mode/for index 01d9c44..01d9c44 100644 --- a/oni-html/snippets/html-mode/for +++ b/oni-yasnippet/snippets/html-mode/for diff --git a/oni-html/snippets/html-mode/generic-block b/oni-yasnippet/snippets/html-mode/generic-block index 82d40c7..82d40c7 100644 --- a/oni-html/snippets/html-mode/generic-block +++ b/oni-yasnippet/snippets/html-mode/generic-block diff --git a/oni-html/snippets/html-mode/script b/oni-yasnippet/snippets/html-mode/script index e50dbf5..e50dbf5 100644 --- a/oni-html/snippets/html-mode/script +++ b/oni-yasnippet/snippets/html-mode/script diff --git a/oni-html/snippets/html-mode/trans-with-cap b/oni-yasnippet/snippets/html-mode/trans-with-cap index 4f20a33..4f20a33 100644 --- a/oni-html/snippets/html-mode/trans-with-cap +++ b/oni-yasnippet/snippets/html-mode/trans-with-cap diff --git a/oni-csharp/snippets/nxml-mode/Import b/oni-yasnippet/snippets/nxml-mode/Import index bddbf3f..bddbf3f 100644 --- a/oni-csharp/snippets/nxml-mode/Import +++ b/oni-yasnippet/snippets/nxml-mode/Import diff --git a/oni-nxml/snippets/nxml-mode/pencil-property b/oni-yasnippet/snippets/nxml-mode/pencil-property index 7fafcb8..7fafcb8 100644 --- a/oni-nxml/snippets/nxml-mode/pencil-property +++ b/oni-yasnippet/snippets/nxml-mode/pencil-property diff --git a/oni-nxml/snippets/nxml-mode/pencil-property-value b/oni-yasnippet/snippets/nxml-mode/pencil-property-value index 5da3d10..5da3d10 100644 --- a/oni-nxml/snippets/nxml-mode/pencil-property-value +++ b/oni-yasnippet/snippets/nxml-mode/pencil-property-value diff --git a/oni-nxml/snippets/nxml-mode/pencil-shortcut b/oni-yasnippet/snippets/nxml-mode/pencil-shortcut index e760d27..e760d27 100644 --- a/oni-nxml/snippets/nxml-mode/pencil-shortcut +++ b/oni-yasnippet/snippets/nxml-mode/pencil-shortcut diff --git a/oni-org/snippets/org-mode/codeblock b/oni-yasnippet/snippets/org-mode/codeblock index a200b08..a200b08 100644 --- a/oni-org/snippets/org-mode/codeblock +++ b/oni-yasnippet/snippets/org-mode/codeblock diff --git a/oni-org/snippets/org-mode/heading b/oni-yasnippet/snippets/org-mode/heading index a472f06..a472f06 100644 --- a/oni-org/snippets/org-mode/heading +++ b/oni-yasnippet/snippets/org-mode/heading diff --git a/oni-org/snippets/org-mode/project b/oni-yasnippet/snippets/org-mode/project index 269d655..269d655 100644 --- a/oni-org/snippets/org-mode/project +++ b/oni-yasnippet/snippets/org-mode/project diff --git a/oni-org/snippets/org-mode/snippet b/oni-yasnippet/snippets/org-mode/snippet index 67f15d5..67f15d5 100644 --- a/oni-org/snippets/org-mode/snippet +++ b/oni-yasnippet/snippets/org-mode/snippet diff --git a/oni-org/snippets/org-mode/task b/oni-yasnippet/snippets/org-mode/task index af229d1..af229d1 100644 --- a/oni-org/snippets/org-mode/task +++ b/oni-yasnippet/snippets/org-mode/task diff --git a/oni-php/snippets/php-mode/arrow-function b/oni-yasnippet/snippets/php-mode/arrow-function index 3b44e01..3b44e01 100644 --- a/oni-php/snippets/php-mode/arrow-function +++ b/oni-yasnippet/snippets/php-mode/arrow-function diff --git a/oni-php/snippets/php-mode/casts b/oni-yasnippet/snippets/php-mode/casts index 2850d72..2850d72 100644 --- a/oni-php/snippets/php-mode/casts +++ b/oni-yasnippet/snippets/php-mode/casts diff --git a/oni-yasnippet/snippets/php-mode/class b/oni-yasnippet/snippets/php-mode/class new file mode 100644 index 0000000..26a58a1 --- /dev/null +++ b/oni-yasnippet/snippets/php-mode/class @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# name: class +# key: cls +# -- +class ${1:`(file-name-nondirectory (file-name-sans-extension buffer-file-name))`} +{ + $0 +}
\ No newline at end of file diff --git a/oni-php/snippets/php-mode/constructor b/oni-yasnippet/snippets/php-mode/constructor index f919e6c..f919e6c 100644 --- a/oni-php/snippets/php-mode/constructor +++ b/oni-yasnippet/snippets/php-mode/constructor diff --git a/oni-yasnippet/snippets/php-mode/factory b/oni-yasnippet/snippets/php-mode/factory new file mode 100644 index 0000000..534f227 --- /dev/null +++ b/oni-yasnippet/snippets/php-mode/factory @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: factory +# key: f +# condition: (and (oni-php-in-test-file) (oni-php-in-static-call-context-p)) +# -- +factory()->create([$0]);
\ No newline at end of file diff --git a/oni-php/snippets/php-mode/for b/oni-yasnippet/snippets/php-mode/for index 1adae91..1adae91 100644 --- a/oni-php/snippets/php-mode/for +++ b/oni-yasnippet/snippets/php-mode/for diff --git a/oni-php/snippets/php-mode/function-expression b/oni-yasnippet/snippets/php-mode/function-expression index fa59b03..fa59b03 100644 --- a/oni-php/snippets/php-mode/function-expression +++ b/oni-yasnippet/snippets/php-mode/function-expression diff --git a/oni-php/snippets/php-mode/function-statement b/oni-yasnippet/snippets/php-mode/function-statement index 9c44aef..9c44aef 100644 --- a/oni-php/snippets/php-mode/function-statement +++ b/oni-yasnippet/snippets/php-mode/function-statement diff --git a/oni-php/snippets/php-mode/if-statement b/oni-yasnippet/snippets/php-mode/if-statement index 6033e3a..6033e3a 100644 --- a/oni-php/snippets/php-mode/if-statement +++ b/oni-yasnippet/snippets/php-mode/if-statement diff --git a/oni-php/snippets/php-mode/logged-debug b/oni-yasnippet/snippets/php-mode/logger-debug index d0e0b7e..d0e0b7e 100644 --- a/oni-php/snippets/php-mode/logged-debug +++ b/oni-yasnippet/snippets/php-mode/logger-debug diff --git a/oni-yasnippet/snippets/php-mode/logger-error b/oni-yasnippet/snippets/php-mode/logger-error new file mode 100644 index 0000000..19344aa --- /dev/null +++ b/oni-yasnippet/snippets/php-mode/logger-error @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: logger-error +# key: le +# -- +logger()->error('$1'${2:, [ $3 ]});
\ No newline at end of file diff --git a/oni-php/snippets/php-mode/logger-info b/oni-yasnippet/snippets/php-mode/logger-info index 9491d24..9491d24 100644 --- a/oni-php/snippets/php-mode/logger-info +++ b/oni-yasnippet/snippets/php-mode/logger-info diff --git a/oni-yasnippet/snippets/php-mode/logger-warning b/oni-yasnippet/snippets/php-mode/logger-warning new file mode 100644 index 0000000..3945490 --- /dev/null +++ b/oni-yasnippet/snippets/php-mode/logger-warning @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: logger.warning +# key: lw +# -- +logger()->warning('$1'${2, [ $3 ]});
\ No newline at end of file diff --git a/oni-yasnippet/snippets/php-mode/mark-test-skipped b/oni-yasnippet/snippets/php-mode/mark-test-skipped new file mode 100644 index 0000000..ce4761d --- /dev/null +++ b/oni-yasnippet/snippets/php-mode/mark-test-skipped @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: mark test skipped +# key: @s +# condition: (string-suffix-p "Test.php" buffer-file-name) +# -- +$this->markTestSkipped("${1:Don't skip your tests.}");
\ No newline at end of file diff --git a/oni-yasnippet/snippets/php-mode/namespace b/oni-yasnippet/snippets/php-mode/namespace new file mode 100644 index 0000000..7a5b5e1 --- /dev/null +++ b/oni-yasnippet/snippets/php-mode/namespace @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: namespace +# key: ns +# -- +namespace ${1:`(oni-php-generate-namespace)`};
\ No newline at end of file diff --git a/oni-php/snippets/php-mode/php b/oni-yasnippet/snippets/php-mode/php index 12f7492..12f7492 100644 --- a/oni-php/snippets/php-mode/php +++ b/oni-yasnippet/snippets/php-mode/php diff --git a/oni-yasnippet/snippets/php-mode/phpstan-ignore b/oni-yasnippet/snippets/php-mode/phpstan-ignore new file mode 100644 index 0000000..91439ba --- /dev/null +++ b/oni-yasnippet/snippets/php-mode/phpstan-ignore @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: phpstan-ignore +# key: @i +# -- +/** @phpstan-ignore $1 */
\ No newline at end of file diff --git a/oni-php/snippets/php-mode/strict-types b/oni-yasnippet/snippets/php-mode/strict-types index bdcf3f9..bdcf3f9 100644 --- a/oni-php/snippets/php-mode/strict-types +++ b/oni-yasnippet/snippets/php-mode/strict-types diff --git a/oni-php/snippets/php-mode/test-class b/oni-yasnippet/snippets/php-mode/test-class index de3bd3f..de3bd3f 100644 --- a/oni-php/snippets/php-mode/test-class +++ b/oni-yasnippet/snippets/php-mode/test-class diff --git a/oni-php/snippets/php-mode/test-comment b/oni-yasnippet/snippets/php-mode/test-comment index b1c9dfb..b1c9dfb 100644 --- a/oni-php/snippets/php-mode/test-comment +++ b/oni-yasnippet/snippets/php-mode/test-comment diff --git a/oni-php/snippets/php-mode/test-name b/oni-yasnippet/snippets/php-mode/test-name index 2b9d72b..2b9d72b 100644 --- a/oni-php/snippets/php-mode/test-name +++ b/oni-yasnippet/snippets/php-mode/test-name diff --git a/oni-yasnippet/snippets/php-mode/todo-comment b/oni-yasnippet/snippets/php-mode/todo-comment new file mode 100644 index 0000000..a079ce8 --- /dev/null +++ b/oni-yasnippet/snippets/php-mode/todo-comment @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: todo-comment +# key: /t +# -- +`comment-start``(if (looking-back " " 2) " " "")`TODO: $0`comment-end`
\ No newline at end of file diff --git a/oni-php/snippets/php-mode/var b/oni-yasnippet/snippets/php-mode/var index ce2b8fc..ce2b8fc 100644 --- a/oni-php/snippets/php-mode/var +++ b/oni-yasnippet/snippets/php-mode/var diff --git a/oni-php/snippets/php-mode/wpheader.php b/oni-yasnippet/snippets/php-mode/wpheader.php index 2c70f93..2c70f93 100644 --- a/oni-php/snippets/php-mode/wpheader.php +++ b/oni-yasnippet/snippets/php-mode/wpheader.php diff --git a/oni-yasnippet/snippets/php-ts-mode/.yas-parents b/oni-yasnippet/snippets/php-ts-mode/.yas-parents new file mode 100644 index 0000000..00d75e1 --- /dev/null +++ b/oni-yasnippet/snippets/php-ts-mode/.yas-parents @@ -0,0 +1 @@ +php-mode
\ No newline at end of file diff --git a/oni-python/snippets/python-mode/defm_empty b/oni-yasnippet/snippets/python-mode/defm_empty index baa976e..baa976e 100644 --- a/oni-python/snippets/python-mode/defm_empty +++ b/oni-yasnippet/snippets/python-mode/defm_empty diff --git a/oni-python/snippets/python-mode/form b/oni-yasnippet/snippets/python-mode/form index 225d5e4..225d5e4 100644 --- a/oni-python/snippets/python-mode/form +++ b/oni-yasnippet/snippets/python-mode/form diff --git a/oni-python/snippets/python-mode/form_valid b/oni-yasnippet/snippets/python-mode/form_valid index c5a7e58..c5a7e58 100644 --- a/oni-python/snippets/python-mode/form_valid +++ b/oni-yasnippet/snippets/python-mode/form_valid diff --git a/oni-python/snippets/python-mode/form_valid_with_return b/oni-yasnippet/snippets/python-mode/form_valid_with_return index fac23bc..fac23bc 100644 --- a/oni-python/snippets/python-mode/form_valid_with_return +++ b/oni-yasnippet/snippets/python-mode/form_valid_with_return diff --git a/oni-python/snippets/python-mode/import_from b/oni-yasnippet/snippets/python-mode/import_from index d9cc4e2..d9cc4e2 100644 --- a/oni-python/snippets/python-mode/import_from +++ b/oni-yasnippet/snippets/python-mode/import_from diff --git a/oni-python/snippets/python-mode/method b/oni-yasnippet/snippets/python-mode/method index 7c033cf..7c033cf 100644 --- a/oni-python/snippets/python-mode/method +++ b/oni-yasnippet/snippets/python-mode/method diff --git a/oni-python/snippets/python-mode/permission_guard b/oni-yasnippet/snippets/python-mode/permission_guard index ab53895..ab53895 100644 --- a/oni-python/snippets/python-mode/permission_guard +++ b/oni-yasnippet/snippets/python-mode/permission_guard diff --git a/oni-python/snippets/python-mode/url b/oni-yasnippet/snippets/python-mode/url index 00ade72..00ade72 100644 --- a/oni-python/snippets/python-mode/url +++ b/oni-yasnippet/snippets/python-mode/url diff --git a/oni-ruby/snippets/ruby-mode/ProductSeed b/oni-yasnippet/snippets/ruby-mode/ProductSeed index 7e836c2..7e836c2 100644 --- a/oni-ruby/snippets/ruby-mode/ProductSeed +++ b/oni-yasnippet/snippets/ruby-mode/ProductSeed diff --git a/oni-ruby/snippets/ruby-mode/ProductSeedHW b/oni-yasnippet/snippets/ruby-mode/ProductSeedHW index 843b32e..843b32e 100644 --- a/oni-ruby/snippets/ruby-mode/ProductSeedHW +++ b/oni-yasnippet/snippets/ruby-mode/ProductSeedHW diff --git a/oni-ruby/snippets/ruby-mode/ProductSeedHWGroup b/oni-yasnippet/snippets/ruby-mode/ProductSeedHWGroup index 25594c5..25594c5 100644 --- a/oni-ruby/snippets/ruby-mode/ProductSeedHWGroup +++ b/oni-yasnippet/snippets/ruby-mode/ProductSeedHWGroup diff --git a/oni-ruby/snippets/ruby-mode/describe b/oni-yasnippet/snippets/ruby-mode/describe index acd3a6b..acd3a6b 100644 --- a/oni-ruby/snippets/ruby-mode/describe +++ b/oni-yasnippet/snippets/ruby-mode/describe diff --git a/oni-ruby/snippets/ruby-mode/do b/oni-yasnippet/snippets/ruby-mode/do index 3c556fc..3c556fc 100644 --- a/oni-ruby/snippets/ruby-mode/do +++ b/oni-yasnippet/snippets/ruby-mode/do diff --git a/oni-ruby/snippets/ruby-mode/factory b/oni-yasnippet/snippets/ruby-mode/factory index 619b2e5..619b2e5 100644 --- a/oni-ruby/snippets/ruby-mode/factory +++ b/oni-yasnippet/snippets/ruby-mode/factory diff --git a/oni-ruby/snippets/ruby-mode/fill_in b/oni-yasnippet/snippets/ruby-mode/fill_in index 854b029..854b029 100644 --- a/oni-ruby/snippets/ruby-mode/fill_in +++ b/oni-yasnippet/snippets/ruby-mode/fill_in diff --git a/oni-ruby/snippets/ruby-mode/mod b/oni-yasnippet/snippets/ruby-mode/mod index 9af7d23..9af7d23 100644 --- a/oni-ruby/snippets/ruby-mode/mod +++ b/oni-yasnippet/snippets/ruby-mode/mod diff --git a/oni-ruby/snippets/ruby-mode/reduce b/oni-yasnippet/snippets/ruby-mode/reduce index 3d4bfe4..3d4bfe4 100644 --- a/oni-ruby/snippets/ruby-mode/reduce +++ b/oni-yasnippet/snippets/ruby-mode/reduce diff --git a/oni-twig/snippets/twig-mode/_self b/oni-yasnippet/snippets/twig-mode/_self index c441690..c441690 100644 --- a/oni-twig/snippets/twig-mode/_self +++ b/oni-yasnippet/snippets/twig-mode/_self diff --git a/oni-twig/snippets/twig-mode/blk b/oni-yasnippet/snippets/twig-mode/blk index bb100a3..bb100a3 100644 --- a/oni-twig/snippets/twig-mode/blk +++ b/oni-yasnippet/snippets/twig-mode/blk diff --git a/oni-twig/snippets/twig-mode/def b/oni-yasnippet/snippets/twig-mode/def index 78dead4..78dead4 100644 --- a/oni-twig/snippets/twig-mode/def +++ b/oni-yasnippet/snippets/twig-mode/def diff --git a/oni-twig/snippets/twig-mode/ext b/oni-yasnippet/snippets/twig-mode/ext index 501cae8..501cae8 100644 --- a/oni-twig/snippets/twig-mode/ext +++ b/oni-yasnippet/snippets/twig-mode/ext diff --git a/oni-twig/snippets/twig-mode/for b/oni-yasnippet/snippets/twig-mode/for index 01c0cc5..01c0cc5 100644 --- a/oni-twig/snippets/twig-mode/for +++ b/oni-yasnippet/snippets/twig-mode/for diff --git a/oni-twig/snippets/twig-mode/if b/oni-yasnippet/snippets/twig-mode/if index a9385d9..a9385d9 100644 --- a/oni-twig/snippets/twig-mode/if +++ b/oni-yasnippet/snippets/twig-mode/if diff --git a/oni-twig/snippets/twig-mode/ife b/oni-yasnippet/snippets/twig-mode/ife index a4d18f3..a4d18f3 100644 --- a/oni-twig/snippets/twig-mode/ife +++ b/oni-yasnippet/snippets/twig-mode/ife diff --git a/oni-twig/snippets/twig-mode/iif b/oni-yasnippet/snippets/twig-mode/iif index df26b61..df26b61 100644 --- a/oni-twig/snippets/twig-mode/iif +++ b/oni-yasnippet/snippets/twig-mode/iif diff --git a/oni-twig/snippets/twig-mode/imp b/oni-yasnippet/snippets/twig-mode/imp index 01ceb69..01ceb69 100644 --- a/oni-twig/snippets/twig-mode/imp +++ b/oni-yasnippet/snippets/twig-mode/imp diff --git a/oni-twig/snippets/twig-mode/mac b/oni-yasnippet/snippets/twig-mode/mac index d4e480a..d4e480a 100644 --- a/oni-twig/snippets/twig-mode/mac +++ b/oni-yasnippet/snippets/twig-mode/mac diff --git a/oni-twig/snippets/twig-mode/set b/oni-yasnippet/snippets/twig-mode/set index 715c828..715c828 100644 --- a/oni-twig/snippets/twig-mode/set +++ b/oni-yasnippet/snippets/twig-mode/set |
