lsp-restart-workspace is deprecated and raises a warning in *Messages*:
‘lsp-restart-workspace’ is an obsolete command (as of lsp-mode 6.1); use ‘lsp-workspace-restart’ instead.
This prevent matching filename like "xxxx.pom\nxxxx". A corner case which satisfies POSIX filename standard but weird for daily use.
I found many regexp in auto-mode-alist are ended with \\' but typescript-mode use $. So curiosity drives me to find the answer.
You can create a file which name contains a linebreak by pressing C-j in find-file prompt.
On emacs 27.1 cl is oficially deprecated and receives a message
warning in the startup as:
Package cl is deprecated
Using cl-lib, which prefix all the Common Lisp functions with `cl-`
solves the problem.
web-mode.el already supports .hbs (handlebars) files. This extension is used for general handlebars files and is used in ember.js projects. Added .hbs to the web-mode.el file extension list.
* Removed lsp-rust (RLS is built into lsp-mode now)
* Fixed setting up flycheck mode in rust mode
* Fixed LSP initialization due to deprecation
* LSP-mode now self configures company and ui-mode
Rust has an unfortunate syntax for setting attributes on a module file:
```rust
#![...]
```
Since this is typically put at the top of the file, that makes the
shebang the first two characters, which makes the `after-save-hook`
function `executable-make-buffer-file-executable-if-script-p` function
change any such rust files executable.
`with-eval-after-load` was introduced in Emacs 24.4 and its
usage results in a cleaner code.
`eval-after-load` is considered ill-behaved because it is a function,
not a macro, and thus requires the code inside it to be quoted, which
means that it cannot be byte-compiled. It also accepts only one form,
so if you have more than one, you need to use `progn`.
More details - https://stackoverflow.com/questions/21880139/what-is-with-eval-after-load-in-emacs-lisp