#+TITLE: Text Editors Text editors control the way you interface with written content. For programmers, this is the vast majority of the content they create, develop, and perhaps consume. * Work - [[https://github.com/xi-editor/xi-editor][Xi]] :: is a flexible editor with a modular approach to construction; if you implement Xi's protocol, you can use any user interface that calls back to Xi on the backend. However, it's plagued with latency issues. https://github.com/LightTable/LightTable - [[https://github.com/hundredrabbits/Left][Left]] :: A simple, minimal writing tool without the distractions - [[https://github.com/yi-editor/yi][Yi]] :: A modular collection of packages for creating your own text editor in Haskell. - [[https://github.com/leo-editor/leo-editor][Leo]] :: Python-based personal information manager * Etc https://www.techradar.com/best/best-text-editors https://github.com/LightTable/LightTable -- incredibly powerful editor https://github.com/tree-sitter/tree-sitter parsing tool system https://metaredux.com/posts/2018/11/09/ciders-orchard-the-heart.html cidet interface, very cool livecoding environment https://github.com/pitr/config_files mostly vim config https://github.com/ianstormtaylor/slate :: customizable framework for building text editors https://s.ai/nlws/ nonlinear writing system https://www.maangchi.com/recipe/dubu-jorim a prototype code explorer! http://www.sci.utah.edu/~nmccurdy/Poemage/ a visualization tool that helps users read http://www.andrewbragdon.com/codebubbles_site.asp rethinking ui of IDES: 'codebubbles' http://akkartik.name/about lots of links on ways to work on advancing program structure https://pharo.org/ editor that's an 'IDE and OS rolled into one' with killer runtime code inspection hemingway: a text editor that provides constant feedback on the semantic meaning and organization of your writing - [[https://m.youtube.com/watch?feature=youtu.be&v=8htgAxJuK5c][Adding interactive visual syntax to textual code]] :: Leif Anderson of Northeastern defining syntax extensions to programming languages in order to directly manipulate problems with visual, concrete syntax as a GUI https://nodes.io/ ** live programming editor research Excited to present our paper on "Example-Based Live Programming for Everyone" at Onward!/@splashcon! Together with our @HPI_DE students, we explored how language-agnostic tools for #LiveProgramming can be built with the #LSP and @GraalVM. 🛠🚀 Preprint: https://t.co/JwKOdnDQrl https://t.co/EFIt78VFlQ https://twitter.com/fniephaus/status/1316397053325565953 [[https://twitter.com/azlenelza/status/1331623011049500678][a text editor with speech and motion controls]] https://hazel.org/: a live fp environment featuring type holes with a language built around filling them. https://ash-k.itch.io/textreme an energetic text editor ** General Idea - build to be language agnostic: use a plugin system to support other programs out of the box - Abandon the file structure: we can do much more faster if we abandon files and use semantic structures relevant to the programming languages. We're building a data manipulation framework, and the plugins define the constraints for manipulating the data - improve traversal and visualization of these data structures * petagogic ides https://parentheticallyspeaking.org/articles/pedagogic-ide/#%28part._.At_the_.Beginning%29 sriram krishnamurthi's work on developing editors for education to help students learn without overwhelming them - at the same time helping them 'unlearn' bad habits from utilities like visual studio and intellij [[https://raphlinus.github.io/xi/2020/06/27/xi-retrospective.html][xi-editor retrospective | Raph Levien’s blog]] [[https://github.com/olive-editor/olive][olive]]: nonlinear video editor [[https://mobile.twitter.com/wcrichton/status/1309288667609874432][Will Crichton on Twitter: "Really cool idea -- combining dynamic program slicing, unit tests, and source diffs to identify the purpose of particular pieces of code. Slicing is one of those obviously good ideas that never panned out b/c the human factors are tricky (see also: software visualization). https://t.co/Q798yj9byW" / Twitter]] [[https://glitch.com/edit/#!/multiuser-sketchpad?path=README.md%3A1%3A0][multi user sketchpad]] [[https://blog.metaobject.com/2020/04/maybe-visual-programming-is-answer.html?m=1][visual programming might not be the answer]] [[https://research.swtch.com/acme][a tour of the acme text editor]] indent on the z axis : ' ) increase font size as you continue! [[https://www.notion.so/Future-of-Programming-Lab-241d162461a04064ae1fd9ae32bf4cb1][future of programming lab]]: type theory to human studies. TODO come back to this - this is what you want to do!!!! [[https://neonpad.io/][neonpad.io - A neon plain text editor]] [[https://numinous.productions/ttft/][transformative tools for thought]] [[file:wiki.org][Wiki]] https://via.hypothes.is/http:/www.vpri.org/pdf/hc_what_Is_a_dynabook.pdf#annotations:C1V5ghbIEeuNkF8ZS7HZaw i really love these annotations-- and -t's a great [[file:books.org][Books]] [[http://acme.cat-v.org/][the ACME text editor]]: default for plan-9. interesting mobile system incorporating mouse usage and chording! it's different from traditional text editors and worth trying. https://penrose.ink/ http://akkartik.name/about - https://factorcode.org/slava/ :: personal website with lots of work on text editors and notes. cool hypercard experiment! [[https://www.maria.cloud/][maria: a clojurescript envvironment for beginners. try it out!]] hazel, of /course/. - https://coda.io/welcome :: an active computing document. substantial improvement upon the skills that spreadsheet wizards already have - https://glitch.com/ :: excellent way to ship web projects : ) https://squeak.org/ : a fascinating smalltalk editor! [[natto.dev]]: interactive, multidimensional js coding environment https://bypaulshen.com/posts/exploring-codebases: what's the best way to navigate a codebase? this is one of the most important parts of the software development experience, yet it's one that largely is not focused on. [[https://glisp.app][glisp]]: an incredible layout environment for structured design and editing. this site seems to autogenerate documentation, taking color cues from the environment to do so! The source is [[https://github.com/baku89/glisp]].