This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
- # beginners (7)
- # boot (63)
- # capetown (1)
- # cider (20)
- # clara (15)
- # cljs-dev (5)
- # clojure (195)
- # clojure-austria (2)
- # clojure-dev (46)
- # clojure-dusseldorf (9)
- # clojure-germany (6)
- # clojure-greece (36)
- # clojure-italy (5)
- # clojure-nl (4)
- # clojure-russia (173)
- # clojure-sg (1)
- # clojure-spec (93)
- # clojure-uk (65)
- # clojure-ukraine (2)
- # clojured (9)
- # clojureremote (1)
- # clojurescript (52)
- # core-async (14)
- # core-logic (5)
- # cursive (21)
- # data-science (8)
- # datomic (60)
- # emacs (83)
- # jobs (9)
- # jobs-discuss (7)
- # juxt (6)
- # klipse (2)
- # leiningen (1)
- # lumo (24)
- # mount (4)
- # numerical-computing (1)
- # off-topic (18)
- # om (37)
- # om-next (5)
- # onyx (13)
- # pedestal (1)
- # perun (44)
- # proton (2)
- # rdf (3)
- # re-frame (24)
- # reagent (4)
- # remote-jobs (3)
- # spacemacs (3)
- # testing (6)
- # vim (10)
- # yada (2)
I use Paredit but gave Parinfer a go the other day and just couldn’t get the hang of it.
It probably didn’t help that the implementation I tried seemed incomplete. https://github.com/DogLooksGood/parinfer-mode
@amdt Since emacser's TAB key is highly customized, I didn't make indent with TAB by default. If you use company to auto complete, and trigger it with TAB. here's my configuration(use with paredit).
(use-package parinfer :bind (:map parinfer-mode-map ("C-'" . parinfer-toggle-mode) ("M-r" . parinfer-raise-sexp) ("<tab>" . parinfer-smart-tab:dwim-right-or-complete) ("S-<tab>" . parinfer-smart-tab:dwim-left)) :config (parinfer-strategy-add 'default 'newline-and-indent) (parinfer-strategy-add 'instantly '(parinfer-smart-tab:dwim-right parinfer-smart-tab:dwim-right-or-complete parinfer-smart-tab:dwim-left)) :init (require 'ediff) (setq ediff-window-setup-function 'ediff-setup-windows-plain) (setq parinfer-lighters '(" Parinfer:Ind" . " Parinfer:Par")) (setq parinfer-extensions '(defaults pretty-parens smart-tab smart-yank paredit)) (setq parinfer-auto-switch-indent-mode-when-closing t) (add-hook 'emacs-lisp-mode-hook 'parinfer-mode) (add-hook 'clojure-mode-hook 'parinfer-mode))
If your company will popup automatically,
("<tab>" . parinfer-smart-tab:dwim-right-or-complete)
("<tab>" . parinfer-smart-tab:dwim-right)
How do you use Parinfer and Paredit together? I wouldn’t have expected them to complement each other.
you can try this
I use paredit and parinfer together, paredit's command will always keep your code in right indentation, so there's no particular compatible issue.
(use-package parinfer :bind (:map parinfer-mode-map ("C-'" . parinfer-toggle-mode) ("M-r" . parinfer-raise-sexp) ("<tab>" . parinfer-smart-tab:dwim-right) ("S-<tab>" . parinfer-smart-tab:dwim-left)) :config (parinfer-strategy-add 'instantly '(parinfer-smart-tab:dwim-right parinfer-smart-tab:dwim-left)) :init (setq parinfer-extensions '(defaults pretty-parens smart-tab smart-yank paredit)) (add-hook 'emacs-mode-hook 'parinfer-mode) (add-hook 'clojure-mode-hook 'parinfer-mode))
I don't enable paredit-mode directly, because it have some hooks that will affect parinfer. I just do
(require 'paredit), then bind paredit commands.
there's the implementation in parinfer. I didn't bind all commands. but it's easy to do that
@mattly it’s a bit late, but I like your theme. Also if I’m not mistaken that’s the Input font, which is all I use, so our aesthetic senses must really line up :)
instead of (1) having an org mode file which tangles out .clj files, is it possible to (2) have a .clj file which has org mode components, i.e. things like
* <-> ; ** <-> ;; *** <-> ;;;
haha yep he’s a elisp wizard. Kinda reminds me of vim’s tpope in that he has his own “philosophy” if you wan to call it that
What I’ve noticed is section folding by header is level-aware (ie if I fold at ;; then it folds all ;;* below it)
^^ this is insane
The config comes with its own .Xmodmap that makes ; into an additional modifier. RSI savers: ;-v instead of Enter. ;-o instead of Backspace. ;-f instead of Shift-9 and Shift-0. ;-a instead of -. ;-s instead of Shift--. ;-q instead of Shift-'. ;-e instead of =. ;-u in addition / instead of C-u.
the once nice thing with org files is that I have something like C-8 = helm completion based on org mode header in all my *.org files
So I’m folding stuff in my init file, and I’ve just called
counsel-outline which gets me just those headings
I've gotten nothing done in the past 4 weeks because every time I think I have the right emacs config, something else pops up
i think all the packages I'm using at th emoment are: evil stuff by abo-abo stuff by cider author
do I want all of the following? counsel counsel -bbdb -dash -gtags -osx-app -projectile ?
Well. My file now goes through the linter without warnings, but still my code-blocks does not expand
@qqq Ah yeah I forgot to set it doesn’t have support for parsing cljs yet. Did you get the outliner working though?
For anyone who wants to learn how to use org-mode better, I found a great playlist: https://www.youtube.com/playlist?list=PLVtKhBrRV_ZkPnBtt_TD1Cs9PJlU0IIdE
besides org-mode, which requires tangling (and screws up line numbers)
is there any other module that will give me "multi level headings" for a *.clj file?
I want something like
does projectile/helm for a comamnd for "search throuhg all .cljs .clj *.cljc files in current project" ?
Though I’m starting to question whether that’s a good idea because even emacs users don’t use that format...