SQLite
lsp-mode
Our great sponsors
SQLite | lsp-mode | |
---|---|---|
39 | 118 | |
5,395 | 4,653 | |
- | 0.5% | |
0.0 | 9.3 | |
7 days ago | about 21 hours ago | |
C | Emacs Lisp | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
SQLite
-
A SQLite extension that brings column-oriented tables to SQLite
If you are into alternative storage engines for SQLite, there is also an LSM (Log-Structured Merge-tree) extension in the main repository that is not announced nor documented but seems to work. It’s based on the SQLite 4 project.
https://github.com/sqlite/sqlite/tree/master/ext/lsm1
https://www.charlesleifer.com/blog/lsm-key-value-storage-in-...
-
Ask HN: Where do I find good code to read?
The sqlite code base is really well done. Lots of documentation.
-
Show HN: I wrote a RDBMS (SQLite clone) from scratch in pure Python
Especially the VM part: https://github.com/spandanb/learndb-py/blob/master/learndb/v...
Compare it with this: https://github.com/sqlite/sqlite/blob/master/src/vdbe.c
That's said, I'm curious how complete this LearnDB is. SQLite is hard to read not only it's old but also it covers a lot of SQL and following SQL spec makes hings complicated. SQLite has great test suite so it's nice if you run the suit against this implementation.
- Why sqlite3 temp files were renamed 'etilqs_*' (2006)
- SQLite builds for WASI since 3.41.0
-
SQLite VS sqlite_blaster - a user suggested alternative
2 projects | 17 Mar 2023
-
Ask HN: Best book to learn C in 2022?
"C in a Nutshell 2nd Ed" (O'Reilly, Prinz & Craqford, 2015) is a good reference although maybe not the best for a walk-through learning experience. It also has good chapters on tooling (gcc, make, gdb).
There's a recent book out I came across called "Bare Metal C" (No Starch Press, Oualline, 2022) which unpacks embedded programming in a very readable manner. I imagine a lot, if not most, C programming these days is done in the low-level embedded world, and this book clears up a lot of the mysteries.
https://nostarch.com/bare-metal-c
Also it never hurts to look at a good open-source codebase written in C, for example the SQLite code is worth looking at (if a bit overwhelming):
-
SQLite Helps You Do Acid
> After that, 510 bytes are used for the SHARED lock. A byte range is used here to accommodate older Windows versions with mandatory locks.
I was curious how old, and... wow, that code is for Windows versions that predate the NT kernel (Win95/98/ME). I'm surprised that it's still around, but the comment does a great job of explaining it.
https://github.com/sqlite/sqlite/blob/3cf46ee508e97b46736a26...
-
Technical Writing Courses from Google
I wouldn't rely on Google to learn good practices for technical documentation (unless they want to release their complete internal technical documents on how their recommendation algorithms work, that is).
Instead, check out a reliable open source project like SQLITE, they have great documentation:
lsp-mode
-
Help getting the yaml language server working with eglot
Not sure how much this might help, but lsp-mode has lsp-yaml-select-buffer-schema and lsp-yaml-set-buffer-schema commands to pick schema from a list or set from a URI. Checking the source of them might give some hints about how the same could be implemented in eglot?
-
What LaTeX setup do you use?
Beyond that you might as well embrace the suck and install autex with a language server: https://emacs-lsp.github.io/lsp-mode/
-
Emacs bankruptcy
Smart completion these days is done primarily through LSP. eglot is fairly minimal but built-in as of 29, also available via GNU Elpa. lsp-mode is another option with more integrations and a bit more fleshed out.
- The bottom emoji breaks rust-analyzer
-
Setting up a fundraiser for multi-threaded Emacs, any thoughts on this?
Are you running emacs-29? It has numerous speed-ups compared to emacs-28 and older versions, many of them coded by Mattias Engdegård, e.g. commit def6fa4246. I have a fresh build of emacs-29 running on Linux and a new mac with an M1 CPU, and it's stupid fast. I don't use the native-comp feature. I rarely notice any hesitation or slowness. I don't use Elpy. I do use lsp mode.
-
Newbie here! Need Help!
I love emacs for the fact that I can use it with many different languages. I get my IDE like features (auto-complete, linting, formatting etc.) from lsp-mode. You can configure emacs by writing elisp in your .emac dotfile in your home directory. Here is my messy config file. The general tactic is to copy snippets from other people. I don't know a good starting point for configuring, but maybe this video can give you a glimpse of what it is like. Picking a feature and getting it working was what helped me when I first started out with emacs. evil-mode was the first thing I installed, because I like vim.
Since you are doing code development, the first things to go for would be setting up your emacs packaging (installing use-package and melpa (use-package's documentation covers this) so you have more packages to choose from (do be careful to not just pick things willy nilly but research them a bit first)) and then setting up lsp-mode. lsp-mode lets you use LSP servers for the specific programming languages you work with in a somewhat unified fashion. You then need to install and setup the LSP servers for the languages you use, and possibly install language specific Emacs packages as support (note, Emacs has builtin functionality for many).
-
Emacs 29: Install Tree-Sitter parser modules with a minor mode
And first of all, I'm trying to understand, how is it connected to https://github.com/emacs-lsp/lsp-mode? I'm sure, that existed lsp implementations already parse source code. Why TreeSitter?
-
Emacs as IDE
Debugging (kind of an IDE feature) is a little harder. Out of the box, Emacs can at least debug emacs-lisp (with built-in features) and C (via gdb integration). Beyond that, take a look at dap-mode for other language options. Similarly, take a look at lsp-mode or eglot for code completion, more advanced linting, etc.
What are some alternatives?
eglot - A client for Language Server Protocol servers
tide - Tide - TypeScript Interactive Development Environment for Emacs
ctags - A maintained ctags implementation
sqlcipher - SQLCipher is a standalone fork of SQLite that adds 256 bit AES encryption of database files and other security features.
ANTLR - ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files.
dap-mode - Emacs :heart: Debug Adapter Protocol
company-lsp - Company completion backend for lsp-mode
LevelDB - LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.
vscode-intelephense - PHP intellisense for Visual Studio Code
lua-language-server - A language server that offers Lua language support - programmed in Lua
RocksDB - A library that provides an embeddable, persistent key-value store for fast storage.
GNU/Emacs go-mode - Emacs mode for the Go programming language