diff --git a/README.md b/README.md
index a93a5230..e661e398 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,9 @@
-
+
# M-EMACS
-
+
# About
@@ -19,14 +19,14 @@ This configuration is designed and tested for **GNU Emacs 25.1 and above only**.
```
-
+
## About README
This README is originated from init.org that is generated using `M-x org-gfm-export-to-markdown`. Every block of code is generated through this function - it exports the section of code from the `elisp/` directory. You will not see their presence in init.org.
-
+
## Installation
@@ -50,7 +50,7 @@ I will be updating M-EMACS from time to time, it is best to `git pull` once a wh
Please also execute `git submodule update --recursive --remote` to sync with all the submodules.
-
+
## Modification
@@ -66,14 +66,14 @@ You have the permission to use, modify, distribute in any way you want. However,
6. Call `M-x org-gfm-export-to-markdown` to update this README.
-
+
## Spotted a Bug? Suggestions?
Please fill in Issues.
-
+
## Special Thanks
@@ -86,94 +86,94 @@ Everyone starts somewhere, and I started here.
# Table of Contents :TOC_2_ORG:
-- [M-EMACS](#orgaff5a80)
-- [About](#org26dedc0)
- - [About README](#orgcee967c)
- - [Installation](#org4f6006a)
- - [Modification](#org004c218)
- - [Spotted a Bug? Suggestions?](#org43672a4)
- - [Special Thanks](#org3c785de)
-- [Startup](#org8f91f02)
- - [Lexical-binding](#org1ac173b)
- - [Disable Unnecessary Interface](#org87ed3cc)
- - [Optimization](#orgd38b240)
- - [Load-Path](#orgb49b473)
- - [Define Constants](#org15ba380)
-- [Package Management](#orgcda074d)
- - [Melpa Packages](#org010a75a)
- - [Non-Melpa Packages](#org56e0a62)
- - [Configure Package Management](#orgad417ff)
- - [Use-Package Wrapper](#org42467d8)
- - [Auto Package Update](#orgd53b71a)
-- [Global Functionalities](#orga0ce393)
- - [User Information](#orgf4af4f0)
- - [Bindings](#org62f72ce)
- - [Directory and File Management](#org0c143d6)
- - [Search](#org520f953)
- - [Avy](#org0862c7b)
- - [Ivy](#orgcaa1058)
- - [Shell](#org7c2d0e3)
- - [Winner](#org245f11c)
- - [Which Key](#orgaeecdf9)
- - [Popup Kill Ring](#orgb9662b6)
- - [Undo Tree](#orgea432c6)
- - [Discover My Major](#org0ae2ab0)
- - [Ace Window](#org4f6eaaa)
- - [Configs](#org71f5305)
- - [More Functions](#orga01110d)
-- [User Interface Enhancements](#org23840b6)
- - [Title Bar](#org79f4b99)
- - [All The Icons](#org1a95e03)
- - [Doom Theme](#orgae13cb7)
- - [Doom Modeline](#orgbf259ac)
- - [Dashboard](#org003602a)
- - [Fonts](#org733886e)
- - [Diminish](#org0f2d36e)
- - [Smooth Scroll](#orgefb60b4)
- - [Pretty Symbols](#orgbd7dcee)
- - [UI Configs](#org48a20c1)
-- [General Programming](#orgf41db91)
- - [Magit](#orgdcecc57)
- - [Projectile](#org48101f4)
- - [Treemacs](#org90b562d)
- - [Company](#orge4e9795)
- - [YASnippet](#org1acdb39)
- - [Flycheck](#org4cd47ca)
- - [Dumb Jump](#org7283eb5)
- - [Line Numbers](#orgb9cf42b)
- - [Parenthesis](#org62a5ae1)
- - [Indentation](#orgb980e93)
- - [Format All](#orge2a3977)
- - [Evil-Nerd-Commenter](#orgf5e0bfe)
- - [Iedit](#org39cb52b)
- - [Header](#org65f3718)
-- [Programming](#org7e2e8a4)
- - [Language Server Protocol](#orgeb3c748)
- - [Java](#orga2575d9)
- - [C/C++](#orge4c887e)
- - [Python](#org7581457)
- - [Arduino](#org12f4f8e)
- - [Jupyter Notebook](#org89c123a)
-- [Web Development](#orgd99c37c)
- - [Web Mode](#org5e69fac)
- - [Emmet](#orga772f5a)
- - [JavaScript/TypeScript](#orgd0a57cb)
-- [Miscellaneous](#orgb63ebc1)
- - [Org](#org538f299)
- - [Emacs Web Wowser](#org2c2bcfa)
- - [LeetCode](#org6777e34)
- - [Tetris](#org8631c71)
- - [Speed Type](#org0f27872)
- - [2048 Game](#org58173f3)
- - [Zone](#org77f4eea)
-
-
-
+- [M-EMACS](#org51b029e)
+- [About](#orgf3edd3e)
+ - [About README](#org1103313)
+ - [Installation](#orgf7c6eb9)
+ - [Modification](#orgdb0f9bf)
+ - [Spotted a Bug? Suggestions?](#orga38a426)
+ - [Special Thanks](#orge7839d3)
+- [Startup](#org49d88c1)
+ - [Lexical-binding](#orgb592605)
+ - [Disable Unnecessary Interface](#org2d84db8)
+ - [Optimization](#orgda66897)
+ - [Load-Path](#org22ee3a3)
+ - [Define Constants](#org7f12fbb)
+- [Package Management](#orge280c63)
+ - [Melpa Packages](#orgbcf368d)
+ - [Non-Melpa Packages](#orge5673e6)
+ - [Configure Package Management](#org7b65535)
+ - [Use-Package Wrapper](#orga47240d)
+ - [Auto Package Update](#orgaa42b94)
+- [Global Functionalities](#orgb5d5704)
+ - [User Information](#org0c998f2)
+ - [Bindings](#orgc7ab5f4)
+ - [Directory and File Management](#orgdf6dac2)
+ - [Search](#orge41bfbe)
+ - [Avy](#org291d52a)
+ - [Ivy](#org2c4cdd8)
+ - [Shell](#org16a838e)
+ - [Winner](#org863aea7)
+ - [Which Key](#orge4a5de2)
+ - [Popup Kill Ring](#org579af20)
+ - [Undo Tree](#org9a9e5de)
+ - [Discover My Major](#org6b66d2b)
+ - [Ace Window](#org62becdb)
+ - [Configs](#org3982ed8)
+ - [More Functions](#orgf34d271)
+- [User Interface Enhancements](#orgf82cb33)
+ - [Title Bar](#orga0baa1b)
+ - [All The Icons](#org3e5ffd4)
+ - [Doom Theme](#org9ac931f)
+ - [Doom Modeline](#org9464364)
+ - [Dashboard](#org461c8fb)
+ - [Fonts](#orge4ba9c7)
+ - [Diminish](#org7d07622)
+ - [Smooth Scroll](#orga0c142e)
+ - [Pretty Symbols](#org61450a4)
+ - [UI Configs](#org8158a64)
+- [General Programming](#orgaa666c6)
+ - [Magit](#org0260e7a)
+ - [Projectile](#org6df4af0)
+ - [Treemacs](#org9ba8336)
+ - [Company](#orgb3be11e)
+ - [YASnippet](#orgb67dbde)
+ - [Flycheck](#org26eb429)
+ - [Dumb Jump](#org0ef3dc3)
+ - [Line Numbers](#org8002f9b)
+ - [Parenthesis](#org6bd3c64)
+ - [Indentation](#org397ab5e)
+ - [Format All](#orgd8a09cf)
+ - [Evil-Nerd-Commenter](#org6b3fe3c)
+ - [Iedit](#org0d62e1a)
+ - [Header](#org0aec7c7)
+ - [Jupyter Notebook](#org21b312e)
+- [Programming](#org6c372ac)
+ - [Language Server Protocol](#org25e458c)
+ - [Java](#orgb6d3c01)
+ - [C/C++](#orgaffb346)
+ - [Python](#org4eff342)
+ - [Arduino](#org2984a8f)
+- [Web Development](#org0ff7a31)
+ - [Web Mode](#org1dd1d09)
+ - [Emmet](#orgca53c21)
+ - [JavaScript/TypeScript](#orgfe5ba9f)
+- [Miscellaneous](#orgdb1f89a)
+ - [Org](#orgc4c29e8)
+ - [Emacs Web Wowser](#org3de19de)
+ - [LeetCode](#orge9079a8)
+ - [Tetris](#org18e598f)
+ - [Speed Type](#orge85e20a)
+ - [2048 Game](#org5c66861)
+ - [Zone](#org4c24aee)
+
+
+
# Startup
-
+
## Lexical-binding
@@ -186,7 +186,7 @@ Use lexical-binding. [Why?](https://nullprogram.com/blog/2016/12/22/)
```
-
+
## Disable Unnecessary Interface
@@ -200,7 +200,7 @@ This need to be in the beginning of initialization to smooth the experience.
```
-
+
## Optimization
@@ -232,7 +232,7 @@ Unset file name handler alist.
```
-
+
## Load-Path
@@ -254,7 +254,7 @@ Since all the configuration files are stored in `elisp/` folder, they need to be
```
-
+
## Define Constants
@@ -276,14 +276,14 @@ Since all the configuration files are stored in `elisp/` folder, they need to be
```
-
+
# Package Management
Some packages are turned off because I don't use them very often. Please verify them in `init.el`.
-
+
## Melpa Packages
@@ -302,7 +302,7 @@ Some packages are turned off because I don't use them very often. Please verify
Load all Melpa packages in `elisp/` to `load-path` directly to reduce startup time.
-
+
## Non-Melpa Packages
@@ -327,7 +327,7 @@ git submodule update
```
-
+
## Configure Package Management
@@ -347,7 +347,7 @@ git submodule update
```
-
+
## Use-Package Wrapper
@@ -401,7 +401,7 @@ The `use-package` wrapper.
```
-
+
## Auto Package Update
@@ -418,12 +418,12 @@ The `use-package` wrapper.
```
-
+
# Global Functionalities
-
+
## User Information
@@ -435,7 +435,7 @@ The `use-package` wrapper.
```
-
+
## Bindings
@@ -460,7 +460,7 @@ The `use-package` wrapper.
```
-
+
## Directory and File Management
@@ -557,7 +557,7 @@ Create directory where Emacs stores backups files.
```
-
+
## Search
@@ -591,7 +591,7 @@ Create directory where Emacs stores backups files.
```
-
+
## Avy
@@ -609,7 +609,7 @@ Create directory where Emacs stores backups files.
```
-
+
## Ivy
@@ -666,7 +666,7 @@ Create directory where Emacs stores backups files.
```
-
+
## Shell
@@ -693,7 +693,7 @@ Create directory where Emacs stores backups files.
```
-
+
## Winner
@@ -715,7 +715,7 @@ Winner mode restores old window layout.
```
-
+
## Which Key
@@ -732,7 +732,7 @@ Winner mode restores old window layout.
```
-
+
## Popup Kill Ring
@@ -744,7 +744,7 @@ Winner mode restores old window layout.
```
-
+
## Undo Tree
@@ -758,7 +758,7 @@ Winner mode restores old window layout.
```
-
+
## Discover My Major
@@ -770,7 +770,7 @@ Winner mode restores old window layout.
```
-
+
## Ace Window
@@ -782,7 +782,7 @@ Winner mode restores old window layout.
```
-
+
## Configs
@@ -893,7 +893,7 @@ Better compilation configurations.
```
-
+
## More Functions
@@ -1069,12 +1069,12 @@ BEGIN and END are regexps which define the line range to use."
```
-
+
# User Interface Enhancements
-
+
## Title Bar
@@ -1083,7 +1083,7 @@ BEGIN and END are regexps which define the line range to use."
```
-
+
## All The Icons
@@ -1127,7 +1127,7 @@ BEGIN and END are regexps which define the line range to use."
```
-
+
## Doom Theme
@@ -1145,7 +1145,7 @@ BEGIN and END are regexps which define the line range to use."
```
-
+
## Doom Modeline
@@ -1166,7 +1166,7 @@ BEGIN and END are regexps which define the line range to use."
```
-
+
## Dashboard
@@ -1246,7 +1246,7 @@ Open Dashboard Function
```
-
+
## Fonts
@@ -1286,7 +1286,7 @@ Change Font Function.
```
-
+
## Diminish
@@ -1297,7 +1297,7 @@ Change Font Function.
```
-
+
## Smooth Scroll
@@ -1320,7 +1320,7 @@ Smoothens Scrolling.
```
-
+
## Pretty Symbols
@@ -1344,7 +1344,7 @@ Pretty the Symbols.
```
-
+
## UI Configs
@@ -1372,12 +1372,12 @@ Pretty the Symbols.
```
-
+
# General Programming
-
+
## Magit
@@ -1389,13 +1389,13 @@ Pretty the Symbols.
```
-
+
## Projectile
[Projectile](https://github.com/bbatsov/projectile), a Project Interaction Library for Emacs.
-**Prerequisite**: If using Windows OS, [install](https://github.com/bmatzelle/gow/releases) Gow and add to `PATH`.
+**Prerequisite**: If using Windows OS, install [Gow](https://github.com/bmatzelle/gow/releases) and add to `PATH`.
[Gow](https://github.com/bmatzelle/gow) is a lightweight installer that installs useful open source UNIX applications compiled as native win32 binaries. Specifically, `tr` is needed for Projectile alien indexing.
@@ -1415,7 +1415,7 @@ Pretty the Symbols.
```
-
+
## Treemacs
@@ -1500,7 +1500,7 @@ Pretty the Symbols.
```
-
+
## Company
@@ -1527,7 +1527,7 @@ Pretty the Symbols.
```
-
+
## YASnippet
@@ -1558,7 +1558,7 @@ Pretty the Symbols.
```
-
+
## Flycheck
@@ -1575,7 +1575,7 @@ Pretty the Symbols.
```
-
+
## Dumb Jump
@@ -1592,7 +1592,7 @@ Pretty the Symbols.
```
-
+
## Line Numbers
@@ -1611,7 +1611,7 @@ Display line numbers, and column numbers in modeline.
```
-
+
## Parenthesis
@@ -1691,7 +1691,7 @@ Match and automatically pair parenthesis.
```
-
+
## Indentation
@@ -1721,7 +1721,7 @@ Indentation Config
```
-
+
## Format All
@@ -1735,7 +1735,7 @@ Indentation Config
```
-
+
## Evil-Nerd-Commenter
@@ -1750,7 +1750,7 @@ Indentation Config
```
-
+
## Iedit
@@ -1763,7 +1763,7 @@ Indentation Config
```
-
+
## Header
@@ -1781,12 +1781,33 @@ Indentation Config
```
-
+
+
+## Jupyter Notebook
+
+[Emacs IPython Notebook](https://github.com/millejoh/emacs-ipython-notebook), a [Jupyter](https://jupyter.org/) (formerly IPython) client in Emacs.
+
+- Currently Off
+
+
+### Usage
+
+1. Execute `M-x ein:run` to launch a local Jupyter session.
+2. Login with `M-x ein:login` to a local or remote session.
+3. Open `.ipynb` file and press `C-c C-o`.
+
+```emacs-lisp
+(def-package ein
+ :defer t)
+```
+
+
+
# Programming
-
+
## Language Server Protocol
@@ -1802,7 +1823,6 @@ Indentation Config
:init
(setq lsp-auto-guess-root nil)
(setq lsp-prefer-flymake nil) ; Use flycheck instead of flymake
- (setq lsp-message-project-root-warning t)
:hook ((java-mode . lsp)
(python-mode . lsp)
(js-mode . lsp)
@@ -1873,7 +1893,7 @@ Indentation Config
```
-
+
## Java
@@ -1897,7 +1917,7 @@ Indentation Config
```
-
+
## C/C++
@@ -1911,7 +1931,7 @@ Indentation Config
Note: If Displaying `No LSP server for c-mode`, execute `M-x ielm` and verify clangd is installed using `(describe-variable *clangd*)` or `(executable-find lsp-clients-clangd-executable)`.
-
+
## Python
@@ -1946,7 +1966,7 @@ Now, put `~/.emacs.d\python-language-server\output\bin\Release\win10-x64\publish
```
-
+
## Arduino
@@ -1983,41 +2003,20 @@ Now, put `~/.emacs.d\python-language-server\output\bin\Release\win10-x64\publish
```
-
-
-## Jupyter Notebook
-
-[Emacs IPython Notebook](https://github.com/millejoh/emacs-ipython-notebook), a [Jupyter](https://jupyter.org/) (formerly IPython) client in Emacs.
-
-- Currently Off
-
-
-### Usage
-
-1. Execute `M-x ein:run` to launch a local Jupyter session.
-2. Login with `M-x ein:login` to a local or remote session.
-3. Open `.ipynb` file and press `C-c C-o`.
-
-```emacs-lisp
-(def-package ein
- :defer t)
-```
-
-
-
+
# Web Development
-**Prerequisite**: [Install](https://nodejs.org/en/download/) NodeJS and add to path. Execute following commands to enable LSP for JavaScript/TypeScript/HTML:
+**Prerequisite**: Install [NodeJS](https://nodejs.org/en/download/) and add to path. Execute following commands to enable LSP for JavaScript/TypeScript/HTML:
```text
-npm i -g typescript-language-server
npm i -g typescript
+npm i -g typescript-language-server
npm install -g vscode-html-languageserver-bin
```
-
+
## Web Mode
@@ -2027,11 +2026,11 @@ npm install -g vscode-html-languageserver-bin
(def-package web-mode
:mode
("\\.phtml\\'" "\\.tpl\\.php\\'" "\\.[agj]sp\\'" "\\.as[cp]x\\'"
- "\\.erb\\'" "\\.mustache\\'" "\\.djhtml\\'" "\\.[t]?html?\\'" "\\.tsx\\'"))
+ "\\.erb\\'" "\\.mustache\\'" "\\.djhtml\\'" "\\.[t]?html?\\'"))
```
-
+
## Emmet
@@ -2045,7 +2044,7 @@ npm install -g vscode-html-languageserver-bin
```
-
+
## JavaScript/TypeScript
@@ -2067,43 +2066,17 @@ npm install -g vscode-html-languageserver-bin
```emacs-lisp
(def-package typescript-mode
- :defer t
- :commands (typescript-mode)
- :bind (:map typescript-mode-map
- ("M-." . tide-jump-to-definition))
- :init
- (add-to-list 'auto-mode-alist '("\\.ts\\'" . typescript-mode))
- (defun setup-tide-ts ()
- "Setup tide for typescript."
- (interactive)
- (tide-setup)
- (tide-hl-identifier-mode))
- (add-hook 'typescript-mode-hook #'setup-tide-ts))
-```
-
-
-### Tide
-
-[Tide](https://github.com/ananthakumaran/tide), a TypeScript Interactive Development Environment for Emacs. This is an alternative when LSP is not working.
-
-Tip: enter `M-.` to jump to definition.
-
-```emacs-lisp
-(def-package tide
- :defer t
- :bind (:map tide-mode-map
- ("M-." . nil))
- :commands (tide-setup)
- :after (company flycheck))
+ :mode "\\.ts\\'"
+ :commands (typescript-mode))
```
-
+
# Miscellaneous
-
+
## Org
@@ -2159,7 +2132,7 @@ Tip: enter `M-.` to jump to definition.
```
-
+
## Emacs Web Wowser
@@ -2195,7 +2168,7 @@ In Eww, hit & to browse this url system browser
```
-
+
## LeetCode
@@ -2218,7 +2191,7 @@ In Eww, hit & to browse this url system browser
```
-
+
## Tetris
@@ -2237,7 +2210,7 @@ Although [Tetris](https://www.emacswiki.org/emacs/TetrisMode) is part of Emacs,
```
-
+
## Speed Type
@@ -2249,7 +2222,7 @@ Although [Tetris](https://www.emacswiki.org/emacs/TetrisMode) is part of Emacs,
```
-
+
## 2048 Game
@@ -2261,7 +2234,7 @@ Although [Tetris](https://www.emacswiki.org/emacs/TetrisMode) is part of Emacs,
```
-
+
## Zone
diff --git a/elisp/init-custom.el b/elisp/init-custom.el
index ae6ce7ab..8ed67778 100644
--- a/elisp/init-custom.el
+++ b/elisp/init-custom.el
@@ -58,7 +58,7 @@
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(package-selected-packages
- '(js2-mode 2048-game speed-type graphql request-deferred ox-gfm htmlize toc-org tide typescript-mode emmet-mode web-mode lsp-python-ms lsp-java dap-mode company-lsp lsp-ui lsp-mode iedit evil-nerd-commenter format-all smartparens dumb-jump flycheck yasnippet-snippets yasnippet company treemacs-projectile treemacs-magit treemacs projectile magit highlight-indent-guides diminish dashboard doom-modeline doom-themes all-the-icons-ivy all-the-icons-dired all-the-icons ace-window discover-my-major shell-here undo-tree popup-kill-ring which-key counsel amx ivy avy auto-package-update use-package)))
+ '(js2-mode 2048-game speed-type graphql request-deferred ox-gfm htmlize toc-org typescript-mode emmet-mode web-mode lsp-python-ms lsp-java dap-mode company-lsp lsp-ui lsp-mode iedit evil-nerd-commenter format-all smartparens dumb-jump flycheck yasnippet-snippets yasnippet company treemacs-projectile treemacs-magit treemacs projectile magit highlight-indent-guides diminish dashboard doom-modeline doom-themes all-the-icons-ivy all-the-icons-dired all-the-icons ace-window discover-my-major shell-here undo-tree popup-kill-ring which-key counsel amx ivy avy auto-package-update use-package)))
(provide 'init-custom)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
diff --git a/elisp/init-lsp.el b/elisp/init-lsp.el
index 467aa264..50a50889 100644
--- a/elisp/init-lsp.el
+++ b/elisp/init-lsp.el
@@ -55,7 +55,6 @@
:init
(setq lsp-auto-guess-root nil)
(setq lsp-prefer-flymake nil) ; Use flycheck instead of flymake
- (setq lsp-message-project-root-warning t)
:hook ((java-mode . lsp)
(python-mode . lsp)
(js-mode . lsp)
diff --git a/elisp/init-webdev.el b/elisp/init-webdev.el
index 812c273a..1ce19ef0 100644
--- a/elisp/init-webdev.el
+++ b/elisp/init-webdev.el
@@ -47,7 +47,7 @@
(def-package web-mode
:mode
("\\.phtml\\'" "\\.tpl\\.php\\'" "\\.[agj]sp\\'" "\\.as[cp]x\\'"
- "\\.erb\\'" "\\.mustache\\'" "\\.djhtml\\'" "\\.[t]?html?\\'" "\\.tsx\\'"))
+ "\\.erb\\'" "\\.mustache\\'" "\\.djhtml\\'" "\\.[t]?html?\\'"))
;; -WebModePac
;; EmmetPac
@@ -65,29 +65,10 @@
;; TypeScriptPac
(def-package typescript-mode
- :defer t
- :commands (typescript-mode)
- :bind (:map typescript-mode-map
- ("M-." . tide-jump-to-definition))
- :init
- (add-to-list 'auto-mode-alist '("\\.ts\\'" . typescript-mode))
- (defun setup-tide-ts ()
- "Setup tide for typescript."
- (interactive)
- (tide-setup)
- (tide-hl-identifier-mode))
- (add-hook 'typescript-mode-hook #'setup-tide-ts))
+ :mode "\\.ts\\'"
+ :commands (typescript-mode))
;; -TypeScriptPac
-;; TidePac
-(def-package tide
- :defer t
- :bind (:map tide-mode-map
- ("M-." . nil))
- :commands (tide-setup)
- :after (company flycheck))
-;; -TidePac
-
(provide 'init-webdev)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; init-webdev.el ends here
diff --git a/init.el b/init.el
index d776d475..dc3910bb 100644
--- a/init.el
+++ b/init.el
@@ -172,12 +172,13 @@
(require 'init-header)
-(require 'init-lsp)
+;; (require 'init-ein)
;; Programming
-;; (require 'init-arduino)
-;; (require 'init-ein)
+(require 'init-lsp)
+
+;; (require 'init-arduino)
;; Web Development
(require 'init-webdev)
diff --git a/init.org b/init.org
index 96a8b2f7..a946653a 100644
--- a/init.org
+++ b/init.org
@@ -104,13 +104,13 @@
- [[Evil-Nerd-Commenter][Evil-Nerd-Commenter]]
- [[Iedit][Iedit]]
- [[Header][Header]]
+ - [[Jupyter Notebook][Jupyter Notebook]]
- [[Programming][Programming]]
- [[Language Server Protocol][Language Server Protocol]]
- [[Java][Java]]
- [[C/C++][C/C++]]
- [[Python][Python]]
- [[Arduino][Arduino]]
- - [[Jupyter Notebook][Jupyter Notebook]]
- [[Web Development][Web Development]]
- [[Web Mode][Web Mode]]
- [[Emmet][Emmet]]
@@ -347,7 +347,7 @@
** Projectile
[[https://github.com/bbatsov/projectile][Projectile]], a Project Interaction Library for Emacs.
- *Prerequisite*: If using Windows OS, [[https://github.com/bmatzelle/gow/releases][install]] Gow and add to =PATH=.
+ *Prerequisite*: If using Windows OS, install [[https://github.com/bmatzelle/gow/releases][Gow]] and add to =PATH=.
[[https://github.com/bmatzelle/gow][Gow]] is a lightweight installer that installs useful open source UNIX applications compiled as native win32 binaries. Specifically, =tr= is needed for Projectile alien indexing.
#+INCLUDE: "~/.emacs.d/elisp/init-projectile.el" src emacs-lisp :range-begin "ProjPac" :range-end "-ProjPac" :lines "49-61"
@@ -406,26 +406,35 @@
** Header
[[https://www.emacswiki.org/emacs/header2.el][Header2]], a support for creation and update of file headers.
#+INCLUDE: "~/.emacs.d/elisp/init-header.el" src emacs-lisp :range-begin "Header2Pac" :range-end "-Header2Pac" :lines "46-54"
+** Jupyter Notebook
+ [[https://github.com/millejoh/emacs-ipython-notebook][Emacs IPython Notebook]], a [[https://jupyter.org/][Jupyter]] (formerly IPython) client in Emacs.
+ - Currently Off
+*** Usage
+ 1. Execute =M-x ein:run= to launch a local Jupyter session.
+ 2. Login with =M-x ein:login= to a local or remote session.
+ 3. Open =.ipynb= file and press =C-c C-o=.
+ #+INCLUDE: "~/.emacs.d/elisp/init-ein.el" src emacs-lisp :range-begin "EINPac" :range-end "-EINPac" :lines "47-49"
+
* Programming
** Language Server Protocol
[[https://github.com/emacs-lsp/lsp-mode][LSP]], a client/library for the [[https://microsoft.github.io/language-server-protocol/][Language Server Protocol]].
*** LSP Mode
- #+INCLUDE: "~/.emacs.d/elisp/init-lsp.el" src emacs-lisp :range-begin "LSPPac" :range-end "-LSPPac" :lines "52-66"
+ #+INCLUDE: "~/.emacs.d/elisp/init-lsp.el" src emacs-lisp :range-begin "LSPPac" :range-end "-LSPPac" :lines "52-65"
*** LSP UI
[[https://github.com/emacs-lsp/lsp-ui][LSP UI]], provides all the higher level UI modules of lsp-mode, like flycheck support and code lenses.
- #+INCLUDE: "~/.emacs.d/elisp/init-lsp.el" src emacs-lisp :range-begin "LSPUI" :range-end "-LSPUI" :lines "69-95"
+ #+INCLUDE: "~/.emacs.d/elisp/init-lsp.el" src emacs-lisp :range-begin "LSPUI" :range-end "-LSPUI" :lines "68-94"
*** Company LSP
[[https://github.com/tigersoldier/company-lsp][Company SLP]], a Company completion backend for lsp-mode.
- #+INCLUDE: "~/.emacs.d/elisp/init-lsp.el" src emacs-lisp :range-begin "LSPCompany" :range-end "-LSPCompany" :lines "98-102"
+ #+INCLUDE: "~/.emacs.d/elisp/init-lsp.el" src emacs-lisp :range-begin "LSPCompany" :range-end "-LSPCompany" :lines "97-101"
*** DAP
[[https://github.com/emacs-lsp/dap-mode][DAP]], a client/library for the [[https://code.visualstudio.com/api/extension-guides/debugger-extension][Debug Adapter Protocol]].
- #+INCLUDE: "~/.emacs.d/elisp/init-lsp.el" src emacs-lisp :range-begin "DAPPac" :range-end "-DAPPac" :lines "105-111"
+ #+INCLUDE: "~/.emacs.d/elisp/init-lsp.el" src emacs-lisp :range-begin "DAPPac" :range-end "-DAPPac" :lines "104-110"
** Java
*** LSP Java
[[https://github.com/emacs-lsp/lsp-java][LSP Java]], Emacs Java IDE using [[https://projects.eclipse.org/projects/eclipse.jdt.ls][Eclipse JDT Language Server]]. Note that this package is dependant on [[https://github.com/tkf/emacs-request][Request]].
*Prerequisite*: [[https://maven.apache.org/download.cgi][Install]] Maven and add to =PATH=.
- #+INCLUDE: "~/.emacs.d/elisp/init-lsp.el" src emacs-lisp :range-begin "LSPJavaPac" :range-end "-LSPJavaPac" :lines "117-126"
+ #+INCLUDE: "~/.emacs.d/elisp/init-lsp.el" src emacs-lisp :range-begin "LSPJavaPac" :range-end "-LSPJavaPac" :lines "116-125"
** C/C++
*Prerequisite*:
- Compile using == or =compile=. The command =gcc -o .exe .c .c ...= is to compile C code into =.exe=.
@@ -449,7 +458,7 @@
Change the value after =-r= flag (=win10-x64=) depending on your architecture and OS. See Microsoft's [[https://docs.microsoft.com/en-us/dotnet/core/rid-catalog][Runtime ID Catalog]] for the correct value for your OS.
Now, put =~/.emacs.d\python-language-server\output\bin\Release\win10-x64\publish= in your =PATH=.
- #+INCLUDE: "~/.emacs.d/elisp/init-lsp.el" src emacs-lisp :range-begin "LSPPythonPac" :range-end "-LSPPythonPac" :lines "129-138"
+ #+INCLUDE: "~/.emacs.d/elisp/init-lsp.el" src emacs-lisp :range-begin "LSPPythonPac" :range-end "-LSPPythonPac" :lines "128-137"
** Arduino
*** Arduino Mode
[[https://github.com/bookest/arduino-mode][Arduino mode]], a major mode for editing Arduino sketches.
@@ -459,19 +468,11 @@
[[https://github.com/yuutayamada/company-arduino][Company Arduino]], a set of configuration to let you auto-completion by using irony-mode, company-irony and company-c-headers on arduino-mode.
- Currently Off
#+INCLUDE: "~/.emacs.d/elisp/init-arduino.el" src emacs-lisp :range-begin "CompanyArduinoPac" :range-end "-CompanyArduinoPac" :lines "56-62"
-** Jupyter Notebook
- [[https://github.com/millejoh/emacs-ipython-notebook][Emacs IPython Notebook]], a [[https://jupyter.org/][Jupyter]] (formerly IPython) client in Emacs.
- - Currently Off
-*** Usage
- 1. Execute =M-x ein:run= to launch a local Jupyter session.
- 2. Login with =M-x ein:login= to a local or remote session.
- 3. Open =.ipynb= file and press =C-c C-o=.
- #+INCLUDE: "~/.emacs.d/elisp/init-ein.el" src emacs-lisp :range-begin "EINPac" :range-end "-EINPac" :lines "47-49"
* Web Development
- *Prerequisite*: [[https://nodejs.org/en/download/][Install]] NodeJS and add to path. Execute following commands to enable LSP for JavaScript/TypeScript/HTML:
+ *Prerequisite*: Install [[https://nodejs.org/en/download/][NodeJS]] and add to path. Execute following commands to enable LSP for JavaScript/TypeScript/HTML:
#+BEGIN_SRC text
- npm i -g typescript-language-server
npm i -g typescript
+ npm i -g typescript-language-server
npm install -g vscode-html-languageserver-bin
#+END_SRC
** Web Mode
@@ -486,12 +487,7 @@
#+INCLUDE: "~/.emacs.d/elisp/init-webdev.el" src emacs-lisp :range-begin "Js2Pac" :range-end "-Js2Pac" :lines "61-64"
*** TypeScript Mode
[[https://github.com/emacs-typescript/typescript.el][TypeScript mode]], a feature that offers TypeScript support for Emacs.
- #+INCLUDE: "~/.emacs.d/elisp/init-webdev.el" src emacs-lisp :range-begin "TypeScriptPac" :range-end "-TypeScriptPac" :lines "67-80"
-*** Tide
- [[https://github.com/ananthakumaran/tide][Tide]], a TypeScript Interactive Development Environment for Emacs. This is an alternative when LSP is not working.
-
- Tip: enter =M-.= to jump to definition.
- #+INCLUDE: "~/.emacs.d/elisp/init-webdev.el" src emacs-lisp :range-begin "TidePac" :range-end "-TidePac" :lines "83-89"
+ #+INCLUDE: "~/.emacs.d/elisp/init-webdev.el" src emacs-lisp :range-begin "TypeScriptPac" :range-end "-TypeScriptPac" :lines "67-70"
* Miscellaneous
** Org
[[https://orgmode.org/][Org]], a Emacs built-in tool for keeping notes, maintaining TODO lists, planning projects, and authoring documents with a fast and effective plain-text system.