Hacker GitHub

← All repos

alefore/edge

View on GitHub ↗ ★ 88 C++

Edge - a text editor

19 mentions on Hacker News by 3 people: 3 stories, 16 comments · first 2020-03-24 · latest 2025-10-18

Mentions per year 19 mentions · busiest year 2020 (10)
20082026
  1. ▲ 3
    Edge: Modal terminal-based text editor for GNU/Linux
    story by freetonik · 2025-10-18 · 0 comments
  2. For what it's worth it, I'm still developing and using exclusively my own text-based editor/IDE: https://github.com/alefore/edge I wrote recently a bit about my conclusions after ten years of developing it:…
  3. ▲ 8
    Show HN: Duende: Web UX for guiding Gemini as it improves your source code
    story by afc · 2025-07-20 · 0 comments
  4. In my text editor ( https://github.com/alefore/edge ) I use a balanced binary tree containing small chunks (std::vector) of contiguous lines. That works well enough for me: https://asciinema.org/a/314752 This requires loading the entire…
    comment by afc · 2023-12-26 · in Text Editor: Data Structures
  5. …more or less the philosophy of the editor I've been working on (and using ~exclusively) since 2014: https://github.com/alefore/edge/tree/master Some parts of the UI are still defined in the compiled language (so don't fully fit your…
  6. In my text editor ( https://github.com/alefore/edge ) I keep the undo/redo history always linear, which I find works pretty well. So suppose the user does the following operations: • Insert "Hello" • Insert " world!" • Undo once. • Insert…
  7. …complexity (log N mostly, operations like "give me a copy with element at position i removed"): https://github.com/alefore/edge/blob/master/src/language/con... I use this throughout my editor. For example, I load a file into a sequence of…
  8. I also use this pattern: https://github.com/alefore/edge/blob/master/src/concurrent/p... I added an optional template Validator parameter that can be used to double-check invariants on the protected fields. I also declared a Protected with…
  9. …a NonNull<> templated type (with specializations for std::unique_ptr<> and std::shared_ptr<>): https://github.com/alefore/edge/blob/af1192a70646f662539bfe6... It's slightly verbose, but has allowed me to delete a ton of CHECK(x != nullptr)…
  10. …a preferable paradigm (for how I structure my programs in C++, at least for my text editor: https://github.com/alefore/edge ). In my experience, using sync code looks more readable on the surface but just kicks the can down the road:…
    comment by afc · 2020-05-19 · in What Color Is Your Function? (2015)
  11. …are even less complete. Lastly, I've continued to make significant improvements to my text editor ( https://github.com/alefore/edge ). I think it's interesting that I'm finding it hard to focus on some topics, but I'm currently very…
  12. …classes or methods). For C++ (and other C like languages such as Java) this is implemented here: https://github.com/alefore/edge/blob/master/src/cpp_parse_tr... (if it seems too complex, part of it is because I cache previous states, as an…
  13. …just generated programmatically from the repository of notes. The code that extract it is here: https://github.com/alefore/edge/blob/master/rc/editor_comman... (function zke, which receives the output path, the path to the initial note,…
  14. Probably an unpopular opinion but... Write your own text editor. I've been working on my own ( https://github.com/alefore/edge ) as a side project and using it exclusively for about six years. I don't expect it to be very usable by other…
  15. ▲ 2
    Edge Text Editor
    story by colinprince · 2020-05-08 · 0 comments
  16. …here (which I use, among other things, to hold all lines in a file, in my text editor): https://github.com/alefore/edge/blob/master/src/const_tree.h
    comment by afc · 2020-04-28 · in Let’s Invent B(+)-Trees
  17. …type, rather than optional<T>, to be able to communicate information about the error, though: https://github.com/alefore/edge/blob/876c4328610262b11fda553... ). Cheers!
  18. I was curious about how my text editor ( http://github.com/alefore/edge ) would fare here. I decided to try it with a file with 400k lines, each with ~5 or so words. It worked reasonably well: https://asciinema.org/a/cTMmQMhqLcIQrDbkqx3JFpF…
  19. Thanks for sharing! This resonates strongly with me. One thing I did (and fairly recently too: https://github.com/alefore/edge/commit/6e93c2bb327f57d13d067... says just 10 days ago) is adjust my text editor ( http://github.com/alefore/edge…
    comment by afc · 2020-03-24 · in The Human Log