5 ms·
Notepad++ (and this one here) are based on Scintilla [0]. It's worth pointing it out because it is a high-quality open source code editor component. SciTE [1]
by qwertox 3y ago
Notepad++ (and this one here) are based on Scintilla [0]. It's worth pointing it out because it is a high-quality open source code editor component.
SciTE [1] is the "official" demo-editor for Scintilla and was last updated on March 9th 2024. The history reaches back to 1999.
[0] https://www.scintilla.org/ https://www.scintilla.org/
[1] https://www.scintilla.org/SciTE.html https://www.scintilla.org/SciTE.html
- zozbot234 3y agoYes, unfortunately it seems that the Scintilla codebase is far from async-ready which will make it a challenge to support new stuff like LSP. We might get tree-sitter parsing support, though.
- Aachen 3y agoWhat's LSP?
- mustardo 3y agoLSP (Language Server Protocol) a way for editors to talk to language tools to provide auto complete, warnings errors etc. this means the language tools can be written once and then any editor that has LSP support can use it https://en.m.wikipedia.org/wiki/Language_Server_Protocol https://en.m.wikipedia.org/wiki/Language_Server_Protocol
- zogrodea 3y agoLanguage Server Protocol. It's more or less a way for standaline plugins/programs to provide language-specific functionality like autocompletions, syntax-highlighting, and diagnostic errors (like type errors) independently of a specific editor. The idea is that standalone programs are made called language servers which can provide these features. Editors tend to communicate with them using JSON-RPC over stdin. So one can only write a language-specific parser once and integrate it with any editor. Usually (at least in VS Code), there's a third part which is an editor-specific plugin which contains custom code to connect the editor to the language server, but this part is meant to be a thin layer.
- speps 3y agoI wrote a custom mod more than 15 years ago for SciTE that exposed its plugin API to Ruby and wrote some of my own plugins. It didn't support multiple cursors and I instantly switched to Sublime as soon as I discovered that feature, never looked back.
- jmole 3y agoWhat are multiple cursors used for?
- jdc0589 3y agobeen a while since I used it, but it was handy for templates where you need to enter a name once and have it typed in multiple places in the template (quicker than a find/replace). It was a also handy sometimes to just be able to put your cursor on the name of a variable or bigger text selection, smash cmd+d a handful of times to add another cursor at every other occurrences of it in the file, and then just start typing to modify each of those occurrences.
- input_sh 3y agoIf you're using the same variable name across the file, but want to change only a couple of references to something else, it fills that "I need to do this more than once, but in a bit of an easier to reach, fancier way than with find and replace" niche.
- AeroNotix 3y agoMost editors these days should have "rename" functionality which is very aware of how that symbol is used across a codebase. M-x lsp-rename in emacs, for example works great, if you're using lsp.
- rezonant 3y agoYes but this is more general, allowing you to use it in more cases. For instance, I use it heavily when converting old JavaScript to modern ES/TS. Using "var" everywhere? Replace them all with let. Using anonymous functions instead of lambdas, easy to change those all over (provided there's no "this" dependencies) Have two thousand strings which all need the same edits? No need to do a find/replace operation, you can do it directly in the editor.
- kiney 3y agoI really like geany, which is also based on scintilla
- DEADMINCE 3y agoAs much as I love npp, really all I need is sessions, tabs and spellcheck. Maybe a few other minor features. I've been wanting/meaning to make a new text editor using SciTE as a base, just adding in that core functionality that I need, but I haven't got around to it. If this NPN uses flatpacks I'm not really interested though. I want something super lightweight and fast that can be run as close to standalone as possible. Might be time to move the text editor project to the top of my list, since it seems other people would probably also appreciate it.
- soco 3y agoAnd formatting! Don't forget language-aware formatting and maybe even syntax coloring.
- DEADMINCE 3y agoVery true, very important!
- mananaysiempre 3y ago> I want something super lightweight and fast that can be run as close to standalone as possible. Unfortunately, I don’t really see how you could make a standalone GUI app of meaningful scope on Linux, given the platform that “standalone” is usually defined with respect to doesn’t include a widget toolkit or even a font handling library (it does on Windows). I guess going it alone with an OpenGL viewport would work, but that’s also just setting yourself up for pain the minute accessibility, font shaping, or input methods come into the picture. I won’t begrudge anyone writing their own toolkit or shaper, it’s just, that’s far too much work to do for the sake of being “standalone”. For the ideal of doing everything yourself, yes, I can definitely sympathize, but just getting rid of DT_NEEDED records isn’t much of an ideal.
- DEADMINCE 3y ago> Unfortunately, I don’t really see how you could make a standalone GUI app of meaningful scope on Linux, given the platform that “standalone” is usually defined with respect to doesn’t include a widget toolkit or even a font handling library (it does on Windows). Fair point. I meant able to run without needing any special libraries above those that can be assumed to be installed on a standard linux desktop.
- someone7x 3y agoI fondly remember SciTE from when I first cut my teeth on desktop automation. I’m glad to see it alive and kicking. https://www.autoitscript.com/wiki/SciTE4AutoIt3 https://www.autoitscript.com/wiki/SciTE4AutoIt3
- _zagj 3y agowxWidget's wxStyledTextCtrl is based on Scintilla, too: https://wiki.wxwidgets.org/WxStyledTextCtrl https://wiki.wxwidgets.org/WxStyledTextCtrl
- dajt 3y agoI used Scintilla as the editing component for a JavaScript IDE about 20 years ago, was good.
- pwdisswordfishc 3y agoSpeaking as someone who uses SciTE daily and has dug into the code, there is nothing high-quality about it.