| Age | Commit message (Collapse) | Author |
|
The python LSP used some nbsp unicode chars when sending back
documentation.
|
|
When typing a non-alphanumeric char manually, we add a undo boundary
to not be too greedy.
|
|
This fixes issues where new files would get the wrong mode.
|
|
It now creates an undo entry for the whole file.
|
|
It did not consider the starting location which made it
not find the char it was standing on. This resulted in buffer_word_at
returning the wrong thing.
|
|
Also add a revision to the --version
|
|
Now, if you kill all buffers, the editor will shut down :)
|
|
When deleting a word, you could get "stuck" on non-word chars. To
avoid this, fall back to delete word being a normal delete when
not in a word.
|
|
Made clang on OpenBSD barf
|
|
To not collide with the <stdio.h> globals for stdin, stdout and stderr.
|
|
Diagnostic highlight now sets the fg to white and the background to
the appropriate color for the diagnostic severity. Before, we
could end up with a yellow color for warning as background and
a yellow as foreground for a function, which caused unreadable text.
Also fix some more cases where re-render is needed.
|
|
Running a lot faster just causes tearing.
|
|
This is an old xterm feature that most terminals seem to implement.
|
|
|
|
|
|
It now detects and saves properly.
|
|
- It now colors correctly
- Supports searching for unicode symbols
- Make search able to continue when more letters are entered
|
|
Add to buffer_view when jumping to a location.
|
|
Scrolling vertically now keeps two lines of context and overflowing
vertically places dot in middle of screen.
|
|
It now uses the common approach of saving to a different file and
then using rename to the desired filename after the file has been
fully written, thus not corrupting the file in case of a crash
when writing the file.
|
|
This makes the LSP support complete for now:
- Completion
- Diagnostics
- Goto implementation/declaration
- Rename
- Documentation
- Find references
|
|
- Some unused variables
- Fix zero window size under lldb
- Make instantiation of languages more robust
|
|
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.
|
|
|
|
Id did not use position 0 properly and caused it
to "lose" copy/paste information when the kill ring wrapped around.
|
|
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.
|
|
In this case, the end of the buffer is on the last line, however
if there are no lines in the buffer, it would cause an underflow.
|
|
|
|
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.
|
|
The minibuffer code for handling going back to previous window
after abort was a bit too greedy.
|
|
|
|
|
|
Previously it tried to reload the buffer even though it could not
be watched.
|
|
This is safer since the event is only emitted once the file is closed,
not every time it is modified and it seems to yield more reliable
results.
|
|
Fix the buffer list return key action when buffers have the same name.
Previously, it would pick the first it could find in the buffer list
with the correct buffer name instead of the selected one. Now it uses
text properties to pass the actual buffer pointer along instead.
This however exposed a problem with the clearing of properties and where
in the frame it happens. Search and replace highlighting assumed that
they could color things in their respective command executions. However,
ideally coloring should happen in update functions so now both search
and replace implement the coloring in update hooks for the buffer
they are operating on. For replace, this was already kinda how it
worked and could be adapted with minimal effort. Search on the other
hand needed a bit more rework.
|
|
If a region is active, indentation is added to the whole region.
|
|
If the replace happened on the same line as another match and was longer
or shorter than the previous value, the highlights and following
replaces would be offset.
|
|
There is now a super minimalistic configure script that automatically
detects the event system (epoll/kqueue) and generates a config.h and a
config.mk.
|
|
Also use color constants in some more places.
|
|
Was caused by updating all buffer hooks on every char insert.
Particularily, the syntax update takes a little bit too long to
call on every char. Now the keyboard parsing routine compresses
all consecutive self-inserting chars into one "key press".
Also fix some small issues with timers and update them with a min
and max.
|
|
|
|
Completes on the command, not on following arguments if written
directly at the prompt.
|
|
On systems that has unkown widths for emojis for example,
using -1 for width is not a good fallback.
|
|
Can be killed with the command `kill-buffer`, the shortcut `C-x k`
or from the buffer menu.
|
|
It was very complicated and tried to handle cases that
were specific to certain movement with a too general
approach.
|
|
To try and reset the terminal to something useful.
|