This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-11-06
Channels
- # announcements (12)
- # babashka (34)
- # beginners (85)
- # calva (76)
- # cider (14)
- # clj-kondo (49)
- # cljs-dev (32)
- # clojure (418)
- # clojure-europe (3)
- # clojure-france (4)
- # clojure-italy (17)
- # clojure-losangeles (8)
- # clojure-nl (5)
- # clojure-norway (2)
- # clojure-spec (2)
- # clojure-uk (88)
- # clojuredesign-podcast (4)
- # clojurescript (49)
- # clojurex (75)
- # clr (2)
- # core-async (13)
- # cursive (6)
- # datomic (57)
- # duct (31)
- # emacs (6)
- # fulcro (25)
- # graalvm (67)
- # graphql (13)
- # hoplon (1)
- # java (6)
- # juxt (11)
- # kaocha (5)
- # keechma (2)
- # leiningen (16)
- # mount (1)
- # off-topic (19)
- # pathom (2)
- # pedestal (1)
- # re-frame (11)
- # reagent (21)
- # reitit (22)
- # rewrite-clj (1)
- # shadow-cljs (98)
- # spacemacs (5)
- # sql (16)
- # tools-deps (8)
- # vim (28)
- # xtdb (4)
Vim embedded into running Clojure program. "By running inside your project, it has complete access to the running state of your program. The ambition is to create something that follows the Lisp and Smalltalk tradition, blurring the line between your tools and your code to provide unprecedented interactivity." Learned about this project from browsing ClojuristTogether applicants. Pretty cool! https://sekao.net/paravim/
Looks like I am starting to need a tree view for projects now due to working on multiple repos at the same time . Any recommendations fellas? Looking for something very minimalist and easy to use. I am using Vim 8
@zyxmndaleyjes When I go cross-repo, I normally have a terminal window (and desktop) per repo. But if you want to go minimal in a single vim instance, how about setting upper case marks (`{A-Z}`) in some common file in each project, jumping there with '
, and fuzzy finding for specific files from there?
Woo, will try that out . I need a single instance because I might move code between repos and haven't configured yank to clipboard yet .
Yeah, I made sure I solved the copy/paste problem š https://github.com/walterl/dotfiles/blob/master/nvim/init.vim#L311
I only just recently learned about uppercase marks. My perception of marks is changed forever!
When I have multiple repos in one vim instance, I keep each repo in its own tab and use :lcd %:h
to change the cd for that tab. Then I can open nerdtree, other files in the repo, etc. and each tab will practically have its own cd.
Not Clojure related, but wow! https://gabrielpoca.com/2019-11-02-a-little-bit-of-lua-in-your-vim/
that is very nice indeed!
@regen's tab-per-repo somehow reminded me of another mini-workflow that I wanted to share, specifically for navigating code: when exploring/reading through code, I like to be able to jump back and forth between a symbol and its definition (e.g. a function's use and it's definition), and that usually goes multiple levels deep, jumping from definition to another, to another. I know I can <C-o>
/`<C-i>` to navigate the jump list, but that quickly changes as I navigate around to surrounding code. What I've started doing is...
ā¢ create a new vertical split (`<C-w>v`)
ā¢ gd
(for me mapped to <Plug>(coc-definition)
) in the new split
ā¢ repeat for every new symbol
This ends up creating a vertical "list" of windows which represents the jump path I took to get here. I can navigate through them with <C-w>h
/`<C-w>l`k, and see the code symbol and its definition side-by-side. With set winwidth=80
I also make sure that my current window always gets enough space to work in.
It's not a perfect workflow, but it appeals to my brain's preference for visual/spacial thinking.
that sounds useful! I didn't know about increasing winwidth
. The default of 20 has always been the reason why I don't make many vertical splits (the window becomes too narrow to work with). Never thought about finding the option and increasing it [[=
damn, with winwidth
and winheight
set I feel I can have as many splits as I've ever wanted!
I wrote up a short-ish guide on getting into Clojure / Neovim / Conjure, assuming you have a blank Neovim to start with š Getting started with Clojure, Neovim and Conjure in minutes https://oli.me.uk/getting-started-with-clojure-neovim-and-conjure-in-minutes/
@U05224H0W Might be able to help here
Yeah, its internal shadow stuff I think, I wrote this to help nail down the prepl spec for others: https://oli.me.uk/clojure-prepl-for-tool-authors/