38 lines
2.8 KiB
Plaintext
38 lines
2.8 KiB
Plaintext
<p>I have been pretty busy since my last update here, but that does not mean I
|
||
haven’t had the time to explore a couple of things for my everyday Emacs usage.</p>
|
||
|
||
<p>Lately I had to deal with some Java and some JavaScript. No fancy libraries on
|
||
top of them, no languages built upon them, just plain, old Java and JavaScript.
|
||
I took that as a chance to familiarize myself with
|
||
<a href="https://microsoft.github.io/language-server-protocol/">LSP</a> and especially with
|
||
<a href="https://github.com/joaotavora/eglot">Eglot</a>, one of the two (to my knowledge)
|
||
packages that add LSP support to Emacs. Why Eglot and not
|
||
<a href="https://github.com/emacs-lsp/lsp-mode">lsp-mode</a>? Simple: I like how Eglot
|
||
leverages <code class="language-plaintext highlighter-rouge">project.el</code> and Flymake, tools I heavily rely on, and I also like how
|
||
quickly it enabled me to type Java and JavaScript code.</p>
|
||
|
||
<div class="language-emacs-lisp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">(</span><span class="nv">add-hook</span> <span class="ss">'java-mode-hook</span> <span class="nf">#'</span><span class="nv">eglot-ensure</span><span class="p">)</span>
|
||
<span class="p">(</span><span class="nv">add-hook</span> <span class="ss">'js-mode-hook</span> <span class="nf">#'</span><span class="nv">eglot-ensure</span><span class="p">)</span>
|
||
</code></pre></div></div>
|
||
<p>Neat, huh?</p>
|
||
|
||
<p>Eglot works well with Company, Xref, and ElDoc, so coding in Java finally makes
|
||
sense in Emacs. Granted, I haven’t used it on a big project and I am sure the
|
||
likes of IntelliJ IDEA and Eclipse do wonders, but none of them has the editing
|
||
capabilities or the openness to infinite customization that Emacs offers.</p>
|
||
|
||
<p>Another tool that entered my day-to-day computing is the built-in
|
||
version-control system, or VC for short. My love for
|
||
<a href="https://www.manueluberti.eu/emacs/2017/11/09/magit/">Magit</a> is well-known, but
|
||
on my way to a vanilla Emacs appreciation I thought I could give VC a try. It
|
||
turns out most of the things I need to do with my Git-versioned projects can be
|
||
done from <code class="language-plaintext highlighter-rouge">vc-dir</code>. This means that instead of <kbd>C-x g</kbd> for
|
||
<code class="language-plaintext highlighter-rouge">magit-status</code> I have been using <kbd>C-x p v</kbd> for <code class="language-plaintext highlighter-rouge">project-vc-dir</code>. When
|
||
it’s time to get my hands dirty with some advanced Git-fu, Magit is always next
|
||
to me.</p>
|
||
|
||
<p>One thing should be obvious here: Magit is more powerful and feature rich than
|
||
the built-in VC, so I do not intend to drop Magit as quickly I dropped
|
||
Projectile and Flycheck. Why don’t I just use Magit, then, you ask. For the same
|
||
reason I tried Eglot instead of installing Eclipse, I’d reply. Curiosity will
|
||
not kill any cat in my house.</p> |