This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-02-16
Channels
- # 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)
Does anyone have experience with Parinfer? https://shaunlebron.github.io/parinfer/
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,
use
("<tab>" . parinfer-smart-tab:dwim-right-or-complete)
instead of
("<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
(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 use paredit and parinfer together, paredit's command will always keep your code in right indentation, so there's no particular compatible issue.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
https://github.com/DogLooksGood/parinfer-mode/blob/master/parinfer-ext.el#L121
Which way is better to implement windows and mac os support at same time?
Create 2 different init and load it depends from a platform
or wrap each platform dependent part to condition with platform check?
My goal is same config on windows and macos laptops
@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)
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.
^^ this is insanethe 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" ?