| Age | Commit message (Collapse) | Author |
|
Running a lot faster just causes tearing.
|
|
This makes the LSP support complete for now:
- Completion
- Diagnostics
- Goto implementation/declaration
- Rename
- Documentation
- Find references
|
|
Was caused by using a vector that used realloc to grow. That only works
sometimes. Now instead, the buffer list is a chunked linked list, i.e. a
linked list where each element is a fixed size array.
|
|
Previously, the code assumed 4.
|
|
Was not doing the correct thing when multiple lines
was added.
|
|
Previously assumed that column was 0 if more than one line was
inserted. This was never correct.
|
|
This contains the start of an LSP client.
Nothing (except starting the LSP server) works
at the moment and the feature is disabled by default.
|
|
It now instead iterates the actual unicode code points. This is better
than what it was previously doing but it is still not entirely correct
w.r.t to unicode sequences.
This handling of unicode code points does however make it slightly
easier to handle UTF-16 if needed in the future.
This also adds some long needed tests for buffer methods.
|
|
Can be killed with the command `kill-buffer`, the shortcut `C-x k`
or from the buffer menu.
|
|
It found some really nasty ones :)
|
|
The timers shown with `M-x timers` are now actual timings.
|
|
Now it only deletes the word under dot.
|
|
|
|
No need to register settings anymore and languages
can better handle arbitrary settings now.
|
|
|
|
- Add support for building with clang
Also fix some annoying bugs:
- Visual column was wrong when using tabs
- Add shift-tab for inserting an actual tab
- Fix minibuffer sometimes having dot above it
|
|
A buffer is only the text and the corresponding operation. A buffer view
holds information about scroll, dot and mark positions. One way to think
about it is that a buffer is stateless whereas a buffer view is stateful.
|
|
Currently a very simplistic parser that do not support all TOML
datatypes. Supported are:
- Tables
- Strings (incl multiline)
- Integers
- Inline Tables
- Booleans
- Comments
|
|
- Enumerate windows on screen.
- Build with optimizations.
|
|
Also implement searching.
fix undo boundaries
when it checked for other save point, it used && instead of == which
caused it to overwrite other types.
Fix bytes vs chars bug in text_get_region
|
|
|
|
Uses the settings system to implement a small system for per-language
settings.
|
|
Convenience macros for a hashmap and a growable vector.
|
|
Settings are a flat "dictionary" containing
paths to settings on the format:
<category>.<sub-category>.<setting>.
|
|
This also fixes a bunch of valgrind errors
|
|
This means that empty lines are not added until they have content.
|
|
Also fix some memory leaks
|
|
Also improve find file and switch buffer a bit.
Implement word backward/forward.
|
|
Also, split out platform-specific parts and add mocks for tests.
|
|
Both doxygen and man page
|
|
|
|
|
|
Also fix some issues with inserting multibyte chars.
|
|
It now handles a range of characters and correctly merges lines. It is
not the most slick implementation but it works as a start.
|
|
|