Comments (9)
Things have now changed substantially in master, so I am closing this issue. Thanks all.
from combobulate.
I'll talk about general philosophy of combobulate soon on my blog as it warrants a deep dive. There's a million ways to approach this, I think, and your point about not wanting a "specialised editing mode" for doing changes is valid, I think, because I although that should probably exist, I want the natural flow of Emacs keybindings around movement and editing to keep working.
There's also a lot to be said about how strict or loose the commands should be in terms of preventing you from doing things. Currently few such checks are in place as there are no such checks in paredit either; if you want to do silly things you can --- and you can always undo.
I recommend you try it out in Python and navigate with C-M-u/d
, C-M-p/n
, M-h
(to mark), and M-k
(to kill) to get a feel for the basics.
from combobulate.
Thanks for your response. I agree with everything you wrote. There is a related question to the strictness/looseness question you mention regarding code formatting. (I use aggressive-indent when editing Lisp) Also, if you somehow end up with non-syntactically correct code, how easy is it to fix? In Lispy, I sometimes end up having to use comments to insert or delete extra parentheses. 😊 🙁
I find the conception of Lispy to be brilliant, and the longer I've used structural editing, the more I find myself wanting and expecting all editing commands to respect and take advantage of the syntax. For example, I used to love using C-k to delete and move lines, and now it just feels inefficient, unsafe, and like I'm butchering the code. Same with (un-)commenting by lines or blocks.
Thanks again, and I'll try it out and get a feel for it in Python.
from combobulate.
I tried installing combobulate by running
git clone https://github.com/mickeynp/combobulate.git
in my ~/.emacs.d
directory and then putting
(use-package combobulate
;; Ensure `combobulate-mode` is activated when you launch a mode it supports
:hook ((python-mode . combobulate-mode)
;; (js-mode . combobulate-mode)
;; (typescript-mode . combobulate-mode)
)
:load-path "~/.emacs.d/combobulate"))
in my init.el
file, but I'm getting the error
Debugger entered--Lisp error: (error "Could not find package combobulate. Updating recip...")
... (etc.)
I don't know the finer points of use-package
, and I'm actually using straight
.
I've done some web searches and haven't found a fix. Do you happen to know how to resolve this problem?
from combobulate.
@carcot, I can't comment on why that won't work in your Emacs, but if you prefer straight, by all means use that :) Do submit a pull request to the README when you have it. It'd be good to add that to the list of install options
from combobulate.
@carcot - did you happen to figure it out? the error posted looks like straight
is trying to find a recipe maybe from MELPA or something. i've got my main config with straight
and would be happy to help figure out what is going awry :)
@mickeynp - excited to see your latest endeavor. i've been using the xah-fly-keys modal map, but thinking about how some more "targeted" structural editing would potentially be better. I may try this out and see if i can adapt it to Ruby. i actually came here today because I was reading your article about discoverability in Emacs, something which I've been tackling in a very similar way using transient
. i think it could be cool to have some kind of Emacs task force of folks interested in improving discoverability. transient
is in ELPA now, so its easily available to folks even without setting up any additional package repos :) anyway, this is very off topic for this issue now, but i wanted to say thanks for all your efforts educating your fellow Emacs users
from combobulate.
@gcentauri - no, I didn't, and if you were able to help, I'd greatly appreciate it. I suspect you're right. My problem is that although I use straight
, I only understand it well enough to use it instead of use-package
. (That's not even true, but at least I was able to get it working.) What would you suggest I try first?
from combobulate.
@carcot - well so far i've got this,
(straight-use-package
'(combobulate :type git :host github :repo "mickeynp/combobulate"))
and managed to get straight
to clone and build the package. however, i'm not getting any of the combobulate
functions loaded in my emacs and if i try to evaluate combomulate.el
i am missing tree-sitter-langs
dependency. i installed that with straight
manually, and now it appears that combobulate-mode
shows up for me.
i don't have time at the moment to test drive it, but maybe that will get you started!
from combobulate.
@gcentauri - Following your advice, I added
(use-package tree-sitter)
(use-package tree-sitter-langs)
(straight-use-package
'(combobulate :type git :host github :repo "mickeynp/combobulate"))
(load (concat user-emacs-directory "straight/repos/combobulate/combobulate.el"))
to my config, and everything loads. I don't know why I needed the last line, though. (Any ideas?)
But I can play with it now. Thanks!
from combobulate.
Related Issues (20)
- combobulate-navigate-{previous,next} crash with "Unknown key in procedure" HOT 7
- query-builder status is truncated without wide window HOT 4
- C-g quits all transients, not the innermost one HOT 3
- Adding support for a new language HOT 3
- Installation error from github -- submodule permission denied HOT 2
- Is there any methods to toggle hl-line-mode when start or end combobulate-mark-node-dwim command ? HOT 1
- binding esc key ot combobulate-proffer-map failed.
- Feature Request: vanish node HOT 4
- branch checkout failure on Windows OS with NTFS HOT 3
- Status of toml support HOT 1
- combobluate-avy-jump fails with Node type error. HOT 1
- What is proper way to remove a default highlight rule? HOT 6
- Symbol's value as variable is void: _ HOT 12
- Python annotation navigation behaviors HOT 2
- Which emacs theme did you use for the screenshots ?
- Warnings from transient HOT 3
- combobulate-proffer-indentation's interactive spec is broken
- Combabulate, Selection And Speking HOT 4
- Idea: optional single-key modal operation while in carousel
- disable cycling for expand region HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from combobulate.