summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-11-21Add support for documentChanges in LSPAlbert Cervin
These should ideally be paired with setting the capability on initialize, but for now, the parsing support is there at least for LSP servers that ignore it (like pylsp).
2025-11-21Fix so more than one file gets error highlightsAlbert Cervin
The previous fix for that did not take multiple files into account.
2025-11-21Abort completion when invoking a keymap bindingAlbert Cervin
I.e. when you save, it is probably time to remove the completion.
2025-11-21Add a save all command to the buflistAlbert Cervin
When in the buflist, you can now press 'S' to save all unsaved buffers.
2025-11-21Rename the standard fds in processAlbert Cervin
To not collide with the <stdio.h> globals for stdin, stdout and stderr.
2025-11-21Fix the yellow on yellow for warningsAlbert Cervin
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.
2025-11-19Make sure rendering happens at least 7ms apartrendering-improvementsAlbert Cervin
Running a lot faster just causes tearing.
2025-11-16Use alternate bufferAlbert Cervin
This is an old xterm feature that most terminals seem to implement.
2025-11-16Remove the annoying keymap printAlbert Cervin
2025-11-07Increase the number of pending requests for LSPAlbert Cervin
Also make it a bit more robust if we run out of slots.
2025-11-05Check if LSP help is emptyAlbert Cervin
Then do not display anything and warn user with a message that no help was available.
2025-11-05Add check for printable chars in unicodeAlbert Cervin
2025-11-05Support CRLF line endingsAlbert Cervin
It now detects and saves properly.
2025-11-05Fix a crash when undoingAlbert Cervin
We were spawning too many completion requests as part of the text being changed.
2025-11-05Fix searching annoyancesAlbert Cervin
- It now colors correctly - Supports searching for unicode symbols - Make search able to continue when more letters are entered
2025-11-05Add some more needs_renderAlbert Cervin
Add to buffer_view when jumping to a location.
2025-11-01Improve scrollingAlbert Cervin
Scrolling vertically now keeps two lines of context and overflowing vertically places dot in middle of screen.
2025-11-01Implement safer file savingAlbert Cervin
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.
2025-11-01Fix error in the man page for LSPAlbert Cervin
2025-11-01More lsp supportAlbert Cervin
This makes the LSP support complete for now: - Completion - Diagnostics - Goto implementation/declaration - Rename - Documentation - Find references
2025-10-17Make it work again on OpenBSDopenbsd-fixesAlbert Cervin
- Some unused variables - Fix zero window size under lldb - Make instantiation of languages more robust
2025-01-21Fix buffer list not having stable ptrsAlbert Cervin
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.
2024-11-12Add completion to write_fileAlbert Cervin
2024-11-12Skip empty lines when indenting regionAlbert Cervin
2024-11-12Handle kill buffer wraparound correctlyAlbert Cervin
Id did not use position 0 properly and caused it to "lose" copy/paste information when the kill ring wrapped around.
2024-11-12Fix search with spaces and highlightAlbert Cervin
Highlight the regular search matches using a oneshot approach.
2024-11-10Render tabs using the correct tab widthAlbert Cervin
Previously, the code assumed 4.
2024-11-08Fix col offset againAlbert Cervin
Was not doing the correct thing when multiple lines was added.
2024-11-08Add hpp and hxx as c++ extensionsAlbert Cervin
2024-11-07Fix location after inserting multi-lineAlbert Cervin
Previously assumed that column was 0 if more than one line was inserted. This was never correct.
2024-10-10Support separate debug info for nix buildsAlbert Cervin
2024-09-17Fix crash when buffer was non-lazy addAlbert Cervin
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.
2024-09-12Upgrade nixpkgs to 24.05Albert Cervin
2024-09-12Remove accidental test fileAlbert Cervin
2024-09-12Update the expectations on grammarsAlbert Cervin
Outside the Nix setup, it will be the responsibility of something else (might be a script) to provide the treesitter grammars.
2024-09-12WIP LSP clientAlbert Cervin
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.
2024-09-11Overhaul unicode parsingAlbert Cervin
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.
2024-08-27Fix bug where abort switched windowsAlbert Cervin
The minibuffer code for handling going back to previous window after abort was a bit too greedy.
2024-08-15Do not update last write when openingAlbert Cervin
2024-08-14Add fancy welcome textAlbert Cervin
2024-08-14Do not reload buffer if it could not be watchedAlbert Cervin
Previously it tried to reload the buffer even though it could not be watched.
2024-08-14Use IN_CLOSE_WRITE for inotify on LinuxAlbert Cervin
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.
2024-06-23Fix buffer list switch and search/replaceAlbert Cervin
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.
2024-06-09Fix crash in completionAlbert Cervin
The crash happened when a new file was opened followed by another completion. The reason was that not accepting any of the completion suggestions caused the completion to stay active, causing the context to not be updated for the next completion.
2024-05-14And document the prefix flagAlbert Cervin
2024-05-14Actually support prefix arg in configureAlbert Cervin
2024-05-14Fix more errors in MakefileAlbert Cervin
2024-05-14Fix error in MakefileAlbert Cervin
2024-05-14Improve configure with docs and help flagAlbert Cervin
Also make targets dependent on config.mk so that the program is rebuilt when config.mk changes.
2024-05-14Make shebang more nix sandbox friendlyAlbert Cervin