summaryrefslogtreecommitdiff
path: root/src/dged/buffer.c
AgeCommit message (Collapse)Author
11 daysFix mode not being kept on the fileAlbert Cervin
Also add a revision to the --version
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-05Support CRLF line endingsAlbert Cervin
It now detects and saves properly.
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-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-01More lsp supportAlbert Cervin
This makes the LSP support complete for now: - Completion - Diagnostics - Goto implementation/declaration - Rename - Documentation - Find references
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-08Fix col offset againAlbert Cervin
Was not doing the correct thing when multiple lines was added.
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-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-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-15Do not update last write when openingAlbert Cervin
2024-08-14Add fancy welcome textAlbert Cervin
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-05-14Fix replace not updating after a replace opAlbert Cervin
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.
2024-05-12Improve API docs and configure systemAlbert Cervin
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.
2024-03-24Improve and simplify movement logicAlbert Cervin
It was very complicated and tried to handle cases that were specific to certain movement with a too general approach.
2024-03-07Fix asan errorsAlbert Cervin
It found some really nasty ones :)
2024-03-07Implement timers properlyAlbert Cervin
The timers shown with `M-x timers` are now actual timings.
2024-02-28More lang and buffer fixesAlbert Cervin
2024-02-23Make language less specificAlbert Cervin
Now it just contains id and name as static properties.
2024-02-18Fix undo of deletesAlbert Cervin
Missed a boundary causing it to undo more than expected.
2024-02-14Improve word deletionAlbert Cervin
Now it only deletes the word under dot.
2024-02-12Fix final newline displayingAlbert Cervin
2024-01-31Add some more word delimsAlbert Cervin
2024-01-31Finish lang settings reworkAlbert Cervin
2024-01-31Fix application of text propsAlbert Cervin
Fixes region highlight being wrong.
2024-01-31Change how language and settings workAlbert Cervin
No need to register settings anymore and languages can better handle arbitrary settings now.
2024-01-31Make next-word stop at eolAlbert Cervin
It felt a little too greedy
2024-01-30Syntax highlight is a goAlbert Cervin
2024-01-26Fix clamp not handling negative locationsAlbert Cervin
2024-01-26Fix clamp using column instead of lineAlbert Cervin
2024-01-25Restore lazy row additionAlbert Cervin
2024-01-25Fix save empty buffer crashAlbert Cervin
It was assuming it could access the "last line".
2024-01-25Improve word navigationAlbert Cervin
Now behaves the way we want.
2024-01-24Relative find file and small fixesAlbert Cervin
- Save text was not always displaying - Files were sometimes not reloaded properly
2024-01-15Completion reworkAlbert Cervin
- 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
2023-10-19follow-up fixes after refactoringAlbert Cervin
2023-10-19big buffer/buffer_view reworkAlbert Cervin
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.
2023-07-11Implement replace + autocompleteAlbert Cervin
Autocomplete is currently a POC and works only with find-file.
2023-06-01Simplify rendering and prepare for propsAlbert Cervin
Mark rendering is now a lot simpler and uses "properties".
2023-05-24TOML settings parsingAlbert Cervin
Currently a very simplistic parser that do not support all TOML datatypes. Supported are: - Tables - Strings (incl multiline) - Integers - Inline Tables - Booleans - Comments
2023-05-11Fix write to file when no changesAlbert Cervin
A change of which file to write to was not considered a "change", thus not actually writing the file to disk since it was already "saved".
2023-05-11Fix languagesAlbert Cervin
- Enumerate windows on screen. - Build with optimizations.
2023-05-10Implement word deletionAlbert Cervin
M-d for forward, M-D for backward
2023-05-09Finish buflist implementationAlbert Cervin
Also fix tests and man page install.
2023-05-08Implement file reloadingAlbert Cervin
When for examplue using formatters or doing vc updates, it is useful if the file is reloaded from disk.
2023-05-01Implement buffer reloadAlbert Cervin
Currently only implemented on the buffer itself, and will discard any pending changes to the buffer. Idea is to use a command to detect that state and warn the user.