jinnovation / .emacs.d Goto Github PK
View Code? Open in Web Editor NEWLicense: The Unlicense
License: The Unlicense
No real reason not to do this, plus you get all the benefits of hydra.
Lines 506 to 518 in deb7e64
counsel-projectile
allowed for directly opening Magit on project selection. I'd like analogous functionality for Embark.
projectile-run-vterm
opens vterm in the current project root. The resulting buffer is clearly associated w/ the project in some way, since projectile-kill-buffers
kills it. However, stuff like the current Git branch do not show up in the modeline. If I can get that enabled, that'd obviate a lot of the need to display such info in the terminal prompt.
https://github.com/ecukes/ecukes
Use this as an example.
Historically have used python-lsp-server. For whatever reason (maybe misconfiguration on my part?) this has always required me to reinstall the language server package on each virtualenv that I set up for my projects (otherwise stuff like jump-to-def doesn't work). To make things worse, I've always needed to install all companion "extensions" to the language server as well, including:
This is extremely cumbersome past a small handful of Python codebases.
Pylyzer looks like a promising alternative that might have a less finicky install story. If that proves to be the case, replace current use of python-lsp-server with that.
C-a
is currently bound to evil-numbers/inc-at-pt
which only works on numbers.
I'm thinking to extend the notion of "incrementing" to "flipping" boolean values. So for example C-a
on a line containing True
would flip it to False
; C-a
again would flip it back to True
.
I accidentally kill *scratch*
all the time. Having to type out *scratch*
out every single time is a pain.
Single-key access to scratch buffer -- recreating it if needed -- is small QoL thing that would spark joy.
I'd like to start taking notes for interesting talks, articles, etc. that I read.
I'd like to associate each note w/ #+filetags: :notes:
by default.
Oftentimes I want to browse the project I'm currently in on Github or otherwise. Having a dedicated key binding for this in the forge transient would be helpful.
This could have rudimentary stuff like:
org-roam-buffer-toggle
Plugging laptop into monitor requires manual (set-frame-font "iosevka 16")
and back to "iosevka 12"
on disconnect in order to be usable. Would be good to automate this.
Selectrum is in maintenance mode, with the author himself having switched over to Vertico (radian-software/selectrum#601).
I can use the migration guide to port over to Vertico, though given my lightweight configurations this might not be difficult.
For repos w/ long-running feature branches, it can be useful to directly check out feature-branch
. Magit interface, however, only allows for checking out either main
or the current commit as a dangling head.
Let's see if this is configurable.
Some baseline verification to guard against regressions due to upgrading new Emacs versions.
imap doesn't have IMAP IDLE
support natively so we'd likely have to use something like imapnotify to get this done.
Define a new Hydra/Transient-prefix for testing in Projectile projects. Namely, should have the following heads/suffixes:
projectile-test-project
;projectile-toggle-between-implementation-and-test
) and pass that to the default test command;Executing projectile-run-vterm
on a remote TRAMP project, in cases where there isn't already a vterm buffer associated w/ that project, opens up a vterm at the local homedir.
See also: #48.
The Homebrew version of python-lsp-server recently added several of the optional extensions, e.g. for Black and Mypy, to the Homebrew recipe for python-lsp-server. Let's try using that to install python-lsp-server first and see how things like local package discovery work w/ the Homebrew-installed version.
Something something prog-mode-hook
compilation-mode
is ill-suited for projects that integrate stuff like Docker builds into testing, due to docker
's liberal use of redrawing (with no obvious way to disable).
Would be nice to instead have commands like projectile-test-project
:
projectile-run-vterm
if project's vterm doesn't already exist;other-window
;pushd
;popd
Stacked PRs and all that.
git pull @{u}
all the way up to main
.
Use :ensure-system-packages
to bind LSP to the required LSP packages, e.g. python-lsp-server
et al.
Where pip
might be unfortunately needed, ideally use pipx.
Bonus points for Embark + Consult.
https://www.reddit.com/r/emacs/comments/ou0g6p/emacs_has_a_global_mode_line/
Could be useful for displaying "global" configurations, e.g. kubectl context or GCP project or even the time -- the kind of stuff one would typically put in their terminal prompt.
This information is not a good for the standard mode line for several reasons:
Eshell lets you pipe output into a buffer e.g. echo foo > #<buffer-foo>
. I wonder if we can implement similar functionality w/ vterm.
The Palantir Python language server is unmaintained now (palantir/python-language-server#935) and work has shifted over to a community-maintained fork at https://github.com/python-lsp/python-lsp-server.
Once work concludes on their end to have plugins, e.g. for mypy and flake8, either update to support the new python-lsp-server or fork in order to do so (python-lsp/python-lsp-server#27), it'll be time for me to update my own config accordingly to purge all remnants of the former lang server.
At minimum, I'll need the following plugins:
Every time I have to re-establish mu4e configs (new computer etc) I have to look up all over again exactly how the hell I did things last time. This is easily the biggest impediment to my actually continuing to use mu4e, despite there truly not being another mail client out there that I actually like more.
Either find a way to streamline the process or just document it.
Third-party go-mode.el
now has a native treesitter-based counterpart go-ts-mode
. Try using that instead.
I like to export Roam nodes to html for copying to slack etc but the links to other nodes always causes it to error (unresolvable from Org's perspective). Plus they wouldn't be useful to readers even if they worked.
There's a fn to ignore errors on links when exporting but that simply strips the link out entirely, which isn't ideal. Ideally we'd be able to strip the link but leave the link text and export accordingly.
Given that I don't actually use a lot of the LSP-mode functionality, maybe the built-in simpler implementation would be easier to configure/maintain.
Current advice on linum-mode
does not work fully. Presumably this is because the "allow this for any mode descended directly from prog-mode
" check is not recursive all the way up the major mode's inheritance path.
Examples:
<leader>lr
: org-list-repair
<leader>op
: org-set-property
Include all dependencies and plugins, e.g. pyls-isort et al., so that no longer have to deal with virtualenv shenanigans or ambiguities or making sure to download everything and keep it organized.
docker run
et al do fancy redraw stuff that doesn't play nicely w/ compilation-mode
, e.g. "refreshed" output gets output one after the other as new output entirely. This is annoying for Docker-intensive projects for which I'd like to use M-x projectile-run
etc to kick off Docker or Docker-adjacent commands.
coterm looks promising here in that it purportedly enables "terminal emulation" for comint etc. Worth looking into and experimenting with.
Currently have a Hydra for Org-Roam buffers (informally assigned the jjin/org-roam-mode
mode).
I'd like to have a Hydra for general Org-mode buffers. The Hydra for jjin/org-roam-mode
could be an extension of that one.
Starter command: org-footnote-action
.
Treesitter-aware folding package: https://github.com/emacs-tree-sitter/ts-fold/?tab=readme-ov-file
za
binding. Might require adding an element to evil-fold-list
Consider a node, e.g. list.org
, that contains other nodes, like so:
#+TITLE: List of Nodes
:PROPERTIES:
:ID: wfytuhwuyfthyuwft
:END:
* Item
:PROPERTIES:
:ID: some-other-id
:END:
I would like the List of Nodes
node to be linked to Item
at the schema level. Currently I don't believe this is possible, since node linking relies explicitly on bona fide links, e.g. [[id:some-other-id][label]]
, which is not present here.
I'd like to extend Org-Roam such that nodes-containing-nodes are recorded as referencing their constituent nodes, and the former are correspondingly recorded as backrefs for the latter.
If there's a native solution for this already, all the better. It's worth asking in Org-Roam forums about this.
org-roam-reflinks-get
might be useful reference hereA declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.