CudaText: Open-source, cross-platform text editor, written in Lazarus

144
16
10 days
(github.com)
by berryton

Comments

mhd
10 days

Hmm, interesting genesis:

> When it was 2014 or 2015, we had some big events in Russia (Crimea related) so many people here were excited. I was too, so I wanted to program some new project.

https://sourceforge.net/blog/march-2020-community-choice-pro...

actionfromafar
10 days

So it started as a celebretion of the annexation of Crimea by Russia?

Alexey_Tor
10 days

The CudaText author is here. No, I did not celebrate the Crimea 'annexation' (in local Ru talks, we cannot name it 'annexation', we must name it 'reunion'). But I was reading such big amount of news at that time, in 2014, that I was excited only from this wave of news. Many patriotic people in Rus were happy and welcomed that. Many opposition people in Rus were not happy and did not welcome that. But the wave of news was very big. For me the Crimea was not positive news. I never have been in Crimea. I never got the FREE ticket to rest in Crimea. The rest in Crimea is not cheep. In 2014 and in 2022. It costs big amount.

danielEM
9 days

Yesterday was about to install CudaText, but as usually with such software, before jumping to anything started to read about your project and you and accidentally got to that quote mentioned above. I must admit, it got me spooked. I have a lot of respect to people who do contribute to open source so I do to you, but in current situation my concern is actually safety and trust.

For example I don't think I can give you a trust to binary packages, like in this case:

https://aur.archlinux.org/packages/cudatext-gtk2-bin

Even if they are not containing anything malicious at this moment, it can happen at any time later, especially after gaining a trust of significant amount of devs. And even with your best intentions I can clearly see a scenario where it will happen against your will or even without your knowledge. You know - it is different thing to trust you, and different thing to trust your state...

Anyway, hope this whole war madness (or "special operation" as you're allowed to call it) will end soon.

Alexey_Tor
9 days

I support your wish about the war or "special operation".

About trust to binary packages: some ppl do build CudaText from source, we have even the bash-script to download the sources + compile them. https://wiki.lazarus.freepascal.org/CudaText#How_to_compile_...

If you afraid to get Pascal code with backdoors: Pascal code does not use any internet libs. Python Addons-Manager uses inet-libs though.

dmz73
10 days

Any chance you can add code completion to python terminal? That would make cuda-text a super-editor on the level of vim and emacs but easier to use.

Alexey_Tor
10 days

'Python terminal' is 'Console panel', do you mean it? Yes we have the plugin for that! "Plugins / Addon manager / Install", item "Console auto-completion". Ctrl+Space hotkey will work in console.

moistly
10 days

> Disclaimer: word "cuda" is taken from Serbian language, it means "miracles".

[uncomfortable silence]

zekica
10 days

The word you are referring to is "čuda" or equivalently in cyrilic "чуда" pronounced "chuda".

JasonFruit
10 days

It could be, "With all the excitement going on, finding a nice programming project to distract me seemed like a good idea."

DiggyJohnson
10 days

We need to make sure this isn’t the neutral-connotation usage of the word “excitement”.

A plane crashing into the neighbors house can be “exciting”.

Comment was deleted :(
yardshop
10 days

Cool! I just learned about this editor randomly about a week ago [1], then mentioned it on the thread about Double Commander the other day, a file manager also written in Lazarus [2].

I'm just about to get it to compile. I'm writing a Python version of the Bash script that downloads and installs all of the packages. It's a learning project so it's pretty messy but I intend to clean it up and submit it to the developers at some point.

CudaText is nice, I'm using it to write this compiling script to get to know it better. It's sort of SublimeText-adjacent but also its own thing. I already have a long list of things I want to replicate from my Sublime setup.

[1] http://lazplanet.blogspot.com/2018/05/spotlight-cudatext-hot...

[2] https://news.ycombinator.com/item?id=32331716

themodelplumber
10 days

The author is really responsive. I reached out about the ability to make snippets run external commands and place the output in the editor. Within a day I think he had implemented it as a plugin.

I use like 100+ of these snippets in Geany, so it was awesome to see it become a feature in another interesting new editor.

smartmic
10 days

I had to change my editor every now and then in the last years, because something bothered me... the eternal search for the holy grail, so to speak. So Vim and Emacs have already fallen by the wayside. Now I'm actually stuck with CudaText. In my opinion the editor is really first class, I recommend to try it out.

For me, however, also very exciting is the realization that Lazarus/FreePascal programs generally always stand out very positively. The speed and memory efficiency is remarkable!

sigzero
10 days
formerly_proven
10 days

Uhm yeah, that is uh, quite, ah, reminiscent, yes.

rpastuszak
10 days

What?

libpcap
10 days

What's with the CUDA reference?

dmitrybrant
10 days

It's from the Serbian word "čuda", which is pronounced "chuda". It means "miracles", and also occurs in many other Slavic languages (Russian "чуда", etc)

lightdot
10 days

That got me wondering at a first glance too. But in this case, the word stands for "čuda" not CUDA.

Čuda = miracles, wonders, in Serbian (and several other languages).

And odd conglomerate of words from different languages perhaps, one even anglicized (ASCIIzed?) at that... Well, it does get the people talking, I suppose.

Uehreka
10 days

In trademark law, the owner of a mark (Nvidia in the case of CUDA) can usually make someone stop using a mark if it would lead to “consumer confusion about the source of the goods” (i.e. people seeing “CudaText” and assuming it has an association with Nvidia/CUDA).

IANAL, and have no idea how likely Nvidia would be to succeed in a trademark dispute with this developer. But in situations like this, it’s often good to just not use a name if a large section of your target audience could become confused upon hearing it. Even if you didn’t know about the other product when you came up with your name, and even if it’s technically legal.

Alexey_Tor
10 days

Author of CudaText here. If I will get the complain from NVIDIA I can rename the project to 'CudeText', word 'cude' is 'miracle'. Now I think that similar name was a little mistake from my side, I needed to name it 'CudeText' earlier.

thebooktocome
10 days

Perhaps it’s short for barracuda?

weare138
10 days

There's a note buried at the bottom of the page:

Disclaimer: word "cuda" is taken from Serbian language, it means "miracles".

ziotom78
10 days

The detailed list of features is here:

https://wiki.freepascal.org/CudaText

I did not know of this project, but it looks really good. It's nice to see projects developed in Lazarus!

signaru
10 days

Besides Lazarus itself, in my opinion after watching the video demo, this may be the best opensource software written in Lazarus/Freepascal.

Sad that I knew about this before but ignored it wrongly thinking CUDA had to do with GPUs.

fithisux
10 days

Fantastic piece of software. I used it extensively under Ubuntu and Windows.

If they make it available through brew I will use it in MacOS too.

Another one ultrafast program Laz/Pas related was LazPaint.

At some point there was a NotePas too!

breadchris
10 days

I thought this was going to tell me about a hardware accelerated text editor.

Sin2x
10 days

From 2020 interview:

SF: What is the next big thing for CudaText? AT: A mate of mine, young programmer Artem Gavrilov from Saint Petersburg, has suggested that editor rendering should be in OpenGL, and he has good experience in 3D graphics and Pascal. I am thinking now how this can be done, it’s a lot of coding even with ready OpenGL libraries. This will make scrolling in editor much smoother. And another idea: make configurable docked panels. CudaText has several panels (Code Tree, Project Manager, Console, Output, etc.) but they are locked in the side or bottom, no configuration, panel cannot be moved from side to bottom, no docking to the right. It’s not needed much but configurable panels are handy.

moffkalast
10 days

Ray tracing for your fonts!

amelius
10 days

Edit your text on a virtual beach with VR goggles.

yjftsjthsd-h
10 days

There are multiple GPU-accelerated terminal emulators; I suppose, why not a text editor?

6ue7nNMEEbHcM
9 days

The amount of work put into this from single person seems astonishing. Per a forum post the author doesn't even care about the donation page working. I wonder how people get to this point in their life that they can spend all days just coding their oss projects for fun. It seems so out of reach for me.

Alexey_Tor
9 days

You are exaggerating, I develop it for 6-7 years, and not every day is coding.

gwenzek
9 days

How does it compare to Sublime Text? This seems to be a FAQ but the link appears to be broken, and I didn't find a corresponding entry in the Wiki.

Alexey_Tor
9 days

The proper wiki page - https://wiki.lazarus.freepascal.org/CudaText_VS_other_editor... .

1- CudaText advantages over Sublime Text 3; 2- CudaText advantages over Visual Studio Code; 3- CudaText disadvantages compared to Sublime Text / VSCode.

Where did you get the broken link?

gwenzek
9 days

On the github.io landing page there is a link to https://wiki.freepascal.org/CudaText#Advantages_over_Sublime...

indigodaddy
9 days

Looks like there is no macos aarch64 version on the sourceforge binary download site? Just seeing amd64 (unless that download includes aarch64 compatibility)

Alexey_Tor
9 days

It (macOS aarch64) will be there in some weeks, maybe in about 10 days. Older version - https://sourceforge.net/projects/cudatext/files/release/1.16...

macOS AArch64 version needs this to be run: xattr -cr /Applications/CudaText.app/

indigodaddy
9 days

Cool, thank you! Will be trying it out at work..

Comment was deleted :(
pkphilip
9 days

This editor is crazy fast and is only a 15MB download (.deb)!

Alexey_Tor
9 days

CudaText has its slow parts (scrolling by Mouse-wheel is not smooth), we are limited by the fact of missing hardware acceleration. But it has its fast parts: https://wiki.lazarus.freepascal.org/CudaText_VS_other_editor...

mrtweetyhack
10 days
dragosbulugean
10 days

Product Marketing Issue:

As a user of Hacker News, I don't care that it's open-source, cross-platform or written in Lazarus.

KronisLV
9 days

> As a user of Hacker News, I don't care that it's open-source, cross-platform or written in Lazarus.

Any piece of software being open source is generally a good thing, since it's less likely that such projects might die off and disappear without someone (even yourself) being able to maintain them, or even add features/fix bugs.

Being cross platform is also a great quality, especially since otherwise you might find yourself using different pieces of software on different OSes, which might be a bit cumbersome. For example, there is no Notepad++ on Linux (using Wine is a bit suboptimal) and so you might find yourself looking in the direction of something like Notepadqq, but obviously it might not give you 1:1 the same experience. That's not the case with something like Visual Studio Code, or even CudaText!

And finally, it's always great to see Lazarus software, it's one of the nicer ways to create GUI software and largely sidesteps some of the framework related issues that other languages face, thanks to its lcl: https://en.wikipedia.org/wiki/Lazarus_Component_Library

They actually have an entire gallery of software written with Lazarus/FreePascal and it's rather interesting to behold: https://wiki.freepascal.org/Projects_using_Free_Pascal

Tozen
7 days

> ...there is no Notepad++ on Linux...

Notepad Next, is a cross-platform reimplementation of Notepad++. https://github.com/dail8859/NotepadNext

> And finally, it's always great to see Lazarus software, it's one of the nicer ways to create GUI software and largely sidesteps some of the framework related issues that other languages face...

The insanity involved around hating on Object Pascal is just a damn shame. Other languages wish they had something like Lazarus or Delphi.

Lazarus is fantastic, for the desktop. And so are a lot of software projects created with Lazarus. The few gripes that I have with the project, is the very odd refusal to fully embrace mobile development.

They have a kind of half-way solution, for just Android and not iOS, from an independent developer not on the Lazarus team and who they seem to want to keep at an arm's length. I don't know if Embarcadero (Delphi) is paying them to not touch mobile development, but it's quite weird that they don't want to go in that very obvious direction. Lazarus as a complete solution for both the desktop and mobile, would have people shook. However, the clock is ticking, because there are a number of more comprehensive desktop and mobile development solutions coming. Lazarus should have and arguably could have come out with their combined solution years ago. But, as it is, they are great for the desktop. Nobody can take that away from them.

dragosbulugean
9 days

I've heard these arguments before and they sound good in theory, however in real life I haven't seen it work that way.

Projects dying off depends on developing a revenue stream or being backed by some company with a real revenue stream. Never solely about being open source. I have another comment about this when I talk about Lazarus below.

Being cross-platform sounds great in theory. However, most users don't use multiple OSes. Also, being cross-platform is extremely hard... for early-stage software you're better off making it work well on one platform, then extending when you achieve some traction with users. Being cross-platform with one tech also removes the chances of benefitting of platform specific APIs that might make it work better.

Lazarus, while I find it easy to get enthusiastic about, I'm old enough to have gone through a couple of cycles. The reason Electron with all its issues (memory consumption, app size) is winning is because there's a mass of developers that know how to build apps with HTML/JS/CSS. Like Haskell or OCaml or other awesome languages, if there's no mass of people that can contribute, the ecosystem never takes off — and ecosystem is the main trait of languages taking off. This is why an OSS project written in Lazarus using some relatively unknown UI APIs is unlikely to survive — I hope it does though.

lf-non
10 days

As a user of "Hacker" News, you are potentially .... a hacker, who is quite likely to care if it is possible to hack on it in general (hence it matters that its open source) and you also likely care if it is easy for you to hack on it in particular (hence the implementation and plugin languages matter too).

dragosbulugean
9 days

Let's consider Visual Studio Code. It's OSS — still, I read the codebase a couple of times and I wouldn't venture into hacking into it — it's too large.

Being OSS enables hackability, it doesn't provide or guarantee it.

lf-non
9 days

I wasn't claiming that OSS necessarily enables a specific individual to be able to hack on it.

Just in case of your example if as a TS programmer I learn about a new code IDE that is open source and is written in TS, I might be more motivated to go check it out and explore it. So that fact does deserve mentioning - that is all I was saying. Whether or not I eventually end up contributing to it depends on a lot of factors and is besides the point.

ChefboyOG
10 days

Hacker News is a largely technical community. If there was any community that would respond to your product being open source, interoperable, or written in a niche language, this would be it.