5 ms·
A glance into web tech-based text editors’ text management
- cygned 10y agoNeat article and interesting to see some source code. Too bad, blogspot on mobile is a pain in the butt.
- deleted 10y ago[deleted]
- roryisok 10y agoThat headline hurts my brain. Awful start. Why not "how web based text editors manage their text" or "a glance at the text management of web based text editors"
- roryisok 10y agoyay! I'm helping! (the original headline was the same as the article title "A Glance Into Web Tech.-Based Text Editors' Text Management")
- laurent123456 10y agoThe new title is not accurate though, since those editors are not "web-based", but indeed "web tech-based" (based on Chrome), or perhaps simply "HTML/JS-based".
- pimlottc 10y agoI gave up reading it after my sixth sheep got sick.
- tbirdz 10y agoIf you are interested in this kind of stuff, Craig Finseth's The Craft of Text Editing is a great read: https://www.finseth.com/craft/ https://www.finseth.com/craft/
- gbrown_ 10y agoThat will make a good weekend read thanks! Others may be interested in Data Structures for Text Sequences by Charles Crowley[0] which describes Piece Tables. This is the basis for the Vis editor[1]. [0]https://www.cs.unm.edu/~crowley/papers/sds.pdf https://www.cs.unm.edu/~crowley/papers/sds.pdf [1]https://github.com/martanne/vis https://github.com/martanne/vis
- ainiriand 10y agoGood article, and a really cool blog. Try to set it up for mobile also. Thank you.
- fallat 10y agoWhat is particularly wrong with mobile? The only thing seems to be the GitHub Gist pastes.
- lpasselin 10y ago"There is a huge opportunity here to contribute to Atom and make it way better than it already is. Write a piece chain text buffer implementation. Write a gap buffer implementation. Anything but using a regular array like this." Is it really that easy? Why aren't they using those data structures already?
- rawnlq 10y agoBecause it doesn't matter with modern day CPUs with typical file sizes and typing speeds. Worst case scenario for a plain array is if you insert to the front of the array where it has to shift everything down one. But even if the file is on the order of several megabytes, this will still finish in milliseconds at most and the typist won't notice it.
- time4tea 10y agoWhat a waste of fossil fuel energy! What a waste of laptop battery! It can be really hard to make software efficient, sometimes there are easy wins.. seems odd to not just do it. An insert or delete from (e.g.) a rope is very cheap and as they are immutable can make some other features very easy... saves copying megabytes...
- saosebastiao 10y agoI'd imagine that only having a partial buffer available makes it really hard to do text highlighting, auto completion, linting, etc.
- williamstein 10y agoKey takeaway from the article: "One thing I'm taking away from this is if I ever need a web-based source code editor, hands down I'm going with CodeMirror."
- jc4p 10y agoI wish this article had also discussed DraftJS and QuillJS, which both use much more involved text management logic. Draft is powered by Immutable.js ( https://facebook.github.io/immutable-js/ https://facebook.github.io/immutable-js/ ) and Quill is powered by Parchment ( https://github.com/quilljs/parchment https://github.com/quilljs/parchment ). I've been creating a hobby text editor for myself and have tried almost every text editor library on the planet, I think Draft and Quill are the best.
- chill_t 10y agoTotal noob here but laughed at FARTF05 in assembly code. Would like if i got to code up FARTS in my daily job. What does that code do?
- tbirdz 10y agoIt's a label you can jump to. I guess FARTF stands for the function name: FcAppendRgchToFn. Then the number is used to differentiate each label.
- DennisP 10y agoAccording to this, early versions of MS Word used a piece table: http://1017.songtrellisopml.com/whatsBeenWroughtUsingPieceTables http://1017.songtrellisopml.com/whatsBeenWroughtUsingPieceTa...
- z3t4 10y agoFor those wondering why the heck you would make a web based text editor: browsers are actually very good at displaying text, and javascript is good at handling text.
- saosebastiao 10y agoI long for the day that Microsoft starts transitioning to C# on .NET Core for vscode. They made the right choice using typescript on the electron platform, but the difference in efficiency between C# and js is night and day. I've heard it's in the long term plans, but how that'll work I have no clue.