Holla Forums writes a text editor

Since Holla Forums cannot write a web browser, we might as well bike shed on the perfect text editor. We must decide on:


Anyone suggesting 'Electron' solutions deserves the gas. And we're going to need an icon too... and a name.

Other urls found in this thread:

github.com/arakashic/chromatica.nvim/
github.com/Microsoft/language-server-protocol
github.com/arakashic/chromatica.nvim/#responsive-mode
github.com/martanne/vis
git.savannah.gnu.org/cgit/coreutils.git/tree/src/cat.c#n672
en.wikipedia.org/wiki/Generation_Z
github.com/notepad-plus-plus/notepad-plus-plus
github.com/mawww/kakoune
github.com/limetext
myredditnudes.com/
twitter.com/AnonBabble

ed master race reporting

...

That's Neovim.

The Chromatica plugin does asynchronous semantic highlighting for the C family:
github.com/arakashic/chromatica.nvim/

For other language-specific features one would need a supporting server process. The language server protocol does something like that. It's like Slime for Emacs, except it's not specific to one language and one editor.
github.com/Microsoft/language-server-protocol

I people are spreading it everywhere then maybe there is a point to it. If you don't like it you can stay in insert mode and ignore the other modes. It will be a shit experience, but that's apparently what you are going for.

We already have Mousepad. What more does one need?

Chromatica looks great. I recall reading a while back that Stallman didn't want to make it easier to export the AST from GCC, because it could be too useful for tools that don't respect his freedoms.

Nice to see Clang as a big fuck you to his obstructionism.

Ahh, after reading their responsive mode it's not as nice as I'd hoped. It's not easy, but I'm sure it is an active area of research.

github.com/arakashic/chromatica.nvim/#responsive-mode

Just use mg.

Yeah, that's the problem with autism. If you are not going to make something possible with your software someone is going to do it with their software, and that software might be proprietary or use a cuck-license (like LLVM does). So what if people used gcc to export the AST, at least they would still be using gcc instead of something else.

That's also the problem with Slime. They had a great thing, a complete protocol and a backend server. But no one ever wrote it down, they preferred living in their own Emacs bubble world instead of having a sane way of integrating Swank (the backend server) with other editors. Instead Microsoft of all people had to step forward and write down a formal protocol. I know Slime if Free and one could look at the code to figure out the protocol, but I don't have enough autism to go through thousands of lines of undocumented Emacs Lisp code.


It's not really an issue for me since I frequently exit out of insert-mode anyway. I have remapped it to kj, that way it has become a natural part of muscle memory to the point where I press kj at the end of a sentence even in other programs.

Mine's aleady done. It's called Emacs.

omg rms I love you

There's already a Holla Forums text editor, it's called Vis. Or vim. Or mg. Or Emacs.

github.com/martanne/vis

custom plugins
native spell checker and syntax checker ( this-->{} )
themes/schemes customization (Qt)
C and Qt
must support all kinds of text-based scripts and executables and must also be able to edit different MIME types like images and read binaries too (like notepad++)
looks better than anything else including vs code (or what those hipsters use), default font should adobe source code pro
modeless

I_never_programmed.png

Is this the new "which editor do you use" thread?
I use VS Code. It's the best. Only Vim comes close.

No, it was to design your ideal one. I also mentioned that electron solutions get the gas, since you named vsc, please follow me for a quick shower.

Exactly my problem with vim. You get so used to it, that you expect it to be everywhere else. Even though I know it very well, I prefer to use it exclusively. I can move around emacs fast enough, and most textboxes in macOS use emacs bindings. As much as I do like emacs though, RMS makes me wish I didn't.

*not to use it exclusively.

Let's write gui-nano

...

fpbp.
Based user.

...

You make that very quickly.

where the fuck is echo

thats the plan

Echo won't work because you can't read the text file with it. You mean cat. You cat the file to read it, and then cat into it and rewrite it entirely with your edits.
As an extra special feature, you can append to the file to not have to rewrite the whole thing, as long as all your edits are on the end. Super efficient.

I believe sed is more tedious to use than ed. I haven't used red so I can't say anything about that, but all that sed is is a version of ed that can be used from scripts, meaning that it's more tedious to use from anything other than scripts.

vi is by no means "CLI". A terminal is not a command line.


That's your shell doing most of the work, not cat.

This is actually a pretty good idea.

...

I'm pretty sure that's what sed was intended for. It's at least what I use sed exclusively for.

In your own infographic that you make.


ed is the root of sed/red, hence it was placed lower down


Who claimed it was? Vi doesn't use a GUI, you type in commands on a line( e.g. :1,10 s/foo/bar/g) , (within a terminal display)


Good idea, I look forward to your 11 tiers of social media expanding brain meme.
🐸

That's ex, the part where you type in those :commands. But vi itself is a TUI, and pretty much all ncurses stuff is.

I can't quote for shit because I'm busy killing CIA niggers. Was meant for

You misunderstand. Let me demonstrate proper cat editing in practice:

$ cat hello.c#include int main(int argc, char **argv){ puts("Hello, world!"); return 0;}$ cat > hello.c

No, I understand perfectly. cat is not acting as a full editor. When you run "cat > hello.c

SHIGGYDIGGY
The text editor should be pure and work exclusively on immutable data. Otherwise you might as well write it in PHP you pleb.

Minor correction.
git.savannah.gnu.org/cgit/coreutils.git/tree/src/cat.c#n672

I suggest uberedit. It's a more or less 1:1 copy of ultraedit, but completely FOSS.

Yeah, my bad.

cat on its own is unable to open files for writing.

How am I supposed to take advice from a nigger who can't even assemble the most basic programming construct there is to learn?

I looked at both your posts, and sorry mate, you seem like the nigger.

Currently writing an Emacs clone for the VIC-20...

(Funny thing: Jack Tramiel was a neva-again WWII Jew, however the Vic's 'product manager' Michael Tomczyk is a full-blown Trump MAGA weenie..)

Sublime Text is already the perfect text editor. It would be the perfect IDE if it had official GDB integration that wasn't shit.

...and you weren't giving money to SJWs

Explain, the Sublime guys aren't SJWs are they?

All the world needs is Notepad++ for Linux.

The closest thing would be Atom.

The closest thing would be Notepad++ itself through Wine.

Even though I respect your trips, it does say in the OP that you deserve the gas for promoting an electron solution.

I think anyone who does an int return with fucking integer and character array arguments in a main that just prints"Hello" is a fucking retard nigger.

The Electron platform has a very low burden of entry. Electron is the easiest way to write full featured cross-platform applications.

Yeah, for millennials that "code" and understand nothing about performant code.

It's just making explicit what the compiler will assumes is implicit.

...

If your code wasn't such an overcomplicated mess, you'd also be able to use ed, unironically.

It's funny how people speak of milennials as if we were children or something. Some of us are fucking thirty for fuck's sake.

Anyway Holla Forums, how is that editor coming along? When does the shit-flinging stop and the work begin?

To this I would add the current col and row to the temp file, and the program should read those coordinates to see if they have changed when it loads the temp file back. That way scripts can move the cursor.
Also there should be an option for the invoked script to work with the whole file, not just the selected text. This of course can't be the default because of large files.


Damn. I might write this for myself.

Needs some way builtin or external to have syntax highlighting and an autocomplete of some sort.

How is that possible? I thought it was only 17 years since the last millenia.

You keep using that word. I do not think it means what you think it means.
"Millennials" or "Generation Y" as a way of referring to a generation, applies to people born as early as 1980, although there is not a clear cut year that defines it. Check Wikipedia or whatever.

Fucking mong. Get educated.

What you think are "Millennials" are actually called "Generation Z".
en.wikipedia.org/wiki/Generation_Z

I think a little voice inside you scream, when you pick me as the uneducated one in that argument.

Because you know my argument for the meaning of the word, is pretty straight forward; It's the meaning of the word.

Have a forklift day and let me say what a television hat you're wearing!

Well, tbh I can be considered uneducated officially anyway and some things I deem unimportant for me to learn.

However trying to confine a generation to a range of birthyears are as dumb as naming them. Generations are fluid. If we define the group af people in the age of 25-whatever as those who have some sort of function or lifting power in society, it will work like a FIFO buffer not a blit or a swap.

I think I'll agree on naming all us currently living, as one big generation dumbfucks. We're dumber than ever. Hopefully it'll pass.. interesting times though.. interesting times.

Well obviously it's not precise, and there are some very good young programmers, but "millennials who code" has a very specific meaning which everyone here understands. We're talking about the JS programmer who thinks people write operating systems in C, because they're just not smart enough to grok JS. Them, and also the Ruby coders who used to themselves rockstars (are they even still around?).

used to call

I don't know but I've been considering getting into the Ruby bandwagon now that the dust has settled. I think they are mostly normal people now.

Is there anything Ruby can do that Python cannot? Python's big advantage (aside from being basically executable pseudocode) is its rich ecosystem. If there is a library you need it probably exists in Python.

I've never used Ruby, so take this with a grain of salt, but I think its design philosophy is very different from Python's.

Ruby implicitly use the last statement in a function as its return value, in Python you need to explicitly return or you return a None. Ruby often saves you a little typing and can make your code look prettier, depending on the execution flow of your function, but the Python way is is easier to understand.

An imported module in Ruby might expose its functionality by adding new methods to existing objects. When you import a module in Python you either import it into a module object, which means that you have to explicitly use the module's name every time you use one of its members, or you explicitly list the objects you want to import from the module. The Ruby way can be more expressive, but the Python way means that it's always easy to track down which module something was imported from, which is amazing when you're trying to figure out how a program works.

Python code is more boring than Ruby code. I think that's a good thing. If you don't think that then that's a good reason to use Ruby instead.

The generations labels generally refer to those of around college age at the time.
ie the "beat generation" does not refer to babies born in the 60's. The lost generation refers to those who fought in ww1; not those born during ww1.

Gedit

What is he making explicit? He doesn't even pass anything or return anything. Just make it void.

A void main function has implementation-defined behavior. I'm not entirely sure, but I think that means conforming compilers are allowed to reject it or turn it into bullshit. Only the behavior of int main with either 0 or 2 arguments is defined by the standard, so there are real advantages to sticking with one of those.

From C99 onwards an int main function that doesn't explicitly return a value implicitly returns 0, indicating a successful exit. Adding a "return 0" makes the return value explicit. If your code might encounter a compiler for an older standard making it explicit is a good idea.

There have been a number of distinct cultural shifts over the past century, which are worth identifying.

Cultural shifts tend to be most pronounced amongst those around 18-25 at the time.

They also have tended to occur with 1-2 decade gaps between each other.

Thus, a simple identifier to use is that group (college-aged peoples), which is essentially a generation of people. Those born on the edge of groups are undefined; the language is not precise enough to support them.

But for the general case, it is a useful enough identifier for many practical purposes.

please no
twitter.com/notepad_plus/status/673818785674080256?lang=en

It's 2017, why would you use a compiler from before 99? I'd have throw out all the new features. I guess you might as well throw out function prototyping because the old compilers didn't use it.

It's both pointless and inefficient to have your main return anything in the context of the example he showed.

More aggravating than that is his use of the character pointer to read a string arguments when it's never used. Clearly, he does it because he's probably used to making Java software where the jdk compiler requires you to do this even when you don't have to (unless you're making applets for some weird reason, then it doesn't force you to do it).

Because you need to target old/weird hardware. cURL is written in C89, for example, because it needs to be very portable. Most C programs can reasonable assume C99+, including all programs I have written and expect to write.

That's my biggest problem with it too. It's acceptable if you already know you're going to add code that uses it, but this isn't a case of that.

No, m8. What you maybe meant is that:
int main() != int main(void)

Xi editor or Neovim.

Xi has a solid foundation but it seems like proper Vim modes/keybinds aren't happening.

Neovim is a turd-polishing operation but at least it's just Vim.

Have fun with your undefined behavior, faggot.

Is this thread going to produce anything other than shitposts?

...

I only would if it follows the UNIX philosophy. I don't want emacs/vim bloatware.

I don't use it, but wow is vim bloatware exactly?

Any editor with a manual longer than ed's, is bloat
And I speak to you as an emacs user

Do you even know which board you're posting on, friendo? Shitposts is our specialty

so, basically, Notepad++ ?

I least I got an anime recommendation out of it.

Features it must have:
- everything that Notepad++ has
- built-in hex editor
- ability to open big files
- a proper diff tool
- version control integration (including Fossil)
- a secure, live collaborative editing mode (like in Gobby)
- portable (does not write registry / dotfiles) and runs on Windows/Mac/Linux/BSD
- sane and readable source code (probably Pascal is the best choice)

Checked.
Just fork it dude: github.com/notepad-plus-plus/notepad-plus-plus

When my students ask: "Has this guy ever read his own code?"
I answer: "Probably yes, but he used ed/vim/emacs and has no fucking clue how to handle character encodings."

This.

NP++ has hexediting but it's a plugin.

Witht he popularity of NP++ on Windows, I am genuinely amazed there is no native Linux port or a fork in general, seeing as how the developer of NP++ likes to eat dirt and smear his shit covered body on Twitter.

Notepad++ uses the win32api, that is why it is fast and works very well with Windows. Every Windows shortcut / drag&drop feature works as expected and the GUI is as native as it can get. Using ctrl+tab is a pain in the ass with most other editors.

These things are hard to port on Linux desktops.

It is outdated and quite buggy.

What even is your point?

Who said anything about porting it to Linux?

Mono-type texts are harder to read than normal text with dynamic metrics. there are many clues to help you read each letter: such as high and width. When you use a mono-type font, you lose a clue.
Not to mention that the characters that benefit most from kerning are brackets, which are used in programming a lot.

Max. 50 characters lines result in either unnecessary text-wrapping or scrolling. Neither of them helps reading your code.

Add a line limit and your simplest functions will require multiple pages.

My point is that too many arrogant idiots thinks that using ed/vim/whatever makes them better, and when they re-read their code they can't even spot the most obvious mistakes because it is not on the screen.

__
ps.: I just visited another thread and noticed that for me reading this: actually takes longer than reading this:

So I just hopped into a LARPer thread right?

github.com/mawww/kakoune

vim but with Clippy

I've decided on a name:
WritePower

Now all we need is a logo and we're as good as done.

being this much of a faggot

if your function is > page there's a fair fucking chance it's doing more than one thing

are you using german fucking naming conventions for your fucking stupid functions that are doing too many things?

stop it

keep shit fucking simple faggot

(KSFSF)

In the age of SystemD you can't expect your text editor not to have a web browser built-in.

You can't expect your editor to not BE a web browser.

>>>/gaschamber/

No, that would be too unified. What you need is bloat being secondarily tacked on for no purpose.

I should definitely be implemented in Rust, because it would be blazing fast and never crash.

gr8 b8 m8.

Guys how is this coming along? I looked at the thread to find the repo but couldn't find it. Where is it?
I wanted to look at the list of issues to see if I could help implement something.

Still working on the logo...

And deciding on the implementation language.

Doesn't matter, we'll Rewrite It In Rust later.

Ada it is.

...

how would you write a text editor without a text editor?

Hardware. We really take this step for grated though. Same as writing a compiler without a compiler. Tough stuff.

He has some valid points though.
Besides making some ascii art I never felt the need for using monospace fonts.

You don't really need hardware, just something to write to disk, like echo and stuff like that.
Of course it all begins with hardware, but you can certainly "write a text editor without having a text editor" without the need to go all the way back to the hardware.
Same with writing a compiler. You just have to write machine code by hand, but it's essentially writing weird assembly.

In other words, a primitive means of editing text. So yes, it does all trace back to hardware.

could fork this:
github.com/limetext

This project has been going for quite a while, and still isn't in a state ready to be used. Meanwhile the one-man show (and now two man) proprietary project they're cloning is going strong.

This is the biggest problem with free-software. Too many people want it free as in beer, and fail to compensate the author for their time, and eventually economic realities stagnate the project.

Honestly, those free software proponents who don't contribute back code or money are fucking worthless.

What about Python?

So what's bloat for you. Is the plugin system a better alternative?

Ultimately. There are options between hardware and a text editor. Except if you consider any software solution such as piping text into a file a "text editor", in which case you win by fallacy.

Yeah, I think we ultimately agree. Let's not waste too much time on this though, we're cutting into the time better spent designing the logo.

Stay irrelevant neets, meanwhile I make real software.

Let's code it in Swift. That way it'll run natively on MacOS (which all devs use, even here), and it makes porting to iPhone / iPad nice and easy. Swift also runs on linux.

Agreed and upvoted

Eclipse is cool for scala but java a shit. Codeblocks is too slow for my taste.

Upvoted.

How come that this feature is so rare? Why do people screw themselves with hundreds of git commits for months instead of writing stuff TOGETHER?

What should we call it? How about Holla ForumsstEditor?

That's a nice name.

That would troll more people.

This is the name AND the logo.