I fixed Lua

Поделиться
HTML-код
  • Опубликовано: 6 сен 2024

Комментарии • 187

  • @cobbcoding
    @cobbcoding 7 месяцев назад +76

    I like how the most difficult thing in the whole video is the lua syntax highlighting

  • @chriscoyc
    @chriscoyc 7 месяцев назад +75

    teachers: there is not a bad question
    tsoding: its just a bad question 😎

    • @hextav
      @hextav 7 месяцев назад +7

      based

  • @opsJson_
    @opsJson_ 7 месяцев назад +144

    BRAZIL MENTIONED? 🇧🇷🎉

  • @asdfmonstrosity
    @asdfmonstrosity 7 месяцев назад +48

    Lua is a great little language. Tables as data structures work surprisingly well, closures, iterators, everything can be a key and value, ... Even module import just fits so neatly into the language, usually just returning a table (but Lua just lets you do whatever! No restrictions is really cool)

    • @MyriadColorsCM
      @MyriadColorsCM 7 месяцев назад

      Its too bad OOP in LUA is pure pain, though really, you can do with jsut procedural code if you knwo what you are doing.

    • @valbogda5512
      @valbogda5512 7 месяцев назад +24

      @@MyriadColorsCM I consider that one of its advantages.

    • @asdfmonstrosity
      @asdfmonstrosity 7 месяцев назад +8

      @@MyriadColorsCM To get the most out of Lua you may need to do things a little differently, but I think it makes Lua better in the end. First class functions and closures really reduce the need for anything else, but it's not too much work to setup a metatable with methods if you really want it.
      I see the metatable "classes" more of a way to reduce creating multiple instances of functions, as an optimisation, rather than making Lua act particularly OO

    • @sournois90
      @sournois90 4 месяца назад

      @@MyriadColorsCM the lack of formal classes in lua is barely noticeable with the power you get with tables. metatables too if it's still not enough for you.

  • @skaruts
    @skaruts 7 месяцев назад +43

    The code is actually pretty well documented with helpful comments. It really makes it easy to follow the code and get what it's doing. I'll remember this next time I cross paths with one of those clean-code advocates who defend that you should never use any comments in code.

    • @iamdozerq
      @iamdozerq 7 месяцев назад +2

      When you have rules only using them actively and smart can make you able to violate them.

    • @Evilope
      @Evilope 7 месяцев назад +7

      Well named variables, sensible structure and control flow are all that's necessary most of the time...

    • @skaruts
      @skaruts 7 месяцев назад +7

      @@Evilope well, realistically, most of the time that's just a pipe dream. I've read and written enough code to know that. And also what's obvious to you isn't necessarily obvious to others.
      But either way, no matter how well you name and structure things, the brain always has to decipher the code to some extent, while a comment can simply be read. Comments can and do save us a lot of time and effort.

    • @theodorealenas3171
      @theodorealenas3171 7 месяцев назад

      ​@@skaruts yep, I've written tiny functions more than once and to modify them you basically need to unwrap them a little, change them and turn them into tiny functions again. I still love them though. Pity that nobody practices how to read and write them.

    • @skaruts
      @skaruts 7 месяцев назад

      @@theodorealenas3171 yea, I don't like tiny functions either. You said it yourself, they make it harder and more time-consuming to make changes. But also, the more tiny functions you have, the more one has to jump around to make sense of the code, and the harder it is to follow it.
      You also have to waste more time restructuring it as you write it, and you make it harder to refactor it in the future.

  • @StaRiToRe
    @StaRiToRe 7 месяцев назад +57

    to yet another Pogromming session?

  • @Muttisuri
    @Muttisuri 7 месяцев назад +4

    Yes Portuguese is Latin based, and Lua is our word for Moon yes.
    It's to note that Lua (the language) was made in Brazil where Portuguese (of the Brazilian variation (duh)) is spoken. Reading the wiki tells me that there were some trade barriers on software importation which lead to its creation, also seems that Lua was preceded by a language called SOL (Simple Object Language) but in Portuguese Sol mean Sun, so Sun and Moon.

  • @EvilTim1911
    @EvilTim1911 2 месяца назад +1

    27:00 I like this little side tangent here. This is something that was difficult for me to understand when I was starting out. When people used to tell me the choice of language isn't that important I was confused because the different languages looked SO different and it felt like they required a whole different skillset. But now after years of solving software problems professionally, I realize that writing the actual code is usually the least of my concerns and it wouldn't have made much difference if I had to implement the same solutions in a different language.

  • @oblivion_2852
    @oblivion_2852 7 месяцев назад +5

    A good reason for the app to use the vm is to test whether ALL of the functions of the VM work. Because lua isn't just an app it's value is also in the vm you can embed in literally any other app - like how the vm is embedded in this c app that interprets lua

  • @realdotty5356
    @realdotty5356 7 месяцев назад +16

    Lua my beloved

  • @ErikBongers
    @ErikBongers 7 месяцев назад +53

    Next, let's add nullptr to Rust.

    • @IamPyu-v
      @IamPyu-v 7 месяцев назад +4

      perfecto

    • @burkino7046
      @burkino7046 7 месяцев назад +9

      std::ptr::null

    • @IamPyu-v
      @IamPyu-v 7 месяцев назад

      @@burkino7046 :0

    • @igz5553
      @igz5553 5 месяцев назад

      Underrated comment

    • @IamPyu-v
      @IamPyu-v 4 месяца назад

      @@igz5553 How is the 5th most liked comment underrated

  • @dieSpinnt
    @dieSpinnt 7 месяцев назад +19

    Chat Question: "Is there a [programming] language he [=Tsoding] cannot code [in]?" (around 30:00)
    This is not really a question, or only a question and not what it looks like in the first place. It shows the respect of the questioner, because he is impressed of your computer programming skills. The person asking in fact implies, that there is no language (to his knowledge), that he thinks of that you couldn't possibly learn and use. This is a highly meta-level question and it lives in the context and also in a social context. That is btw. very impressive and in contrast to programming languages something that computers CAN NOT understand and possibly will never understand (Including large language models. There is no such thing as "understanding something".
    Thanks for the great video, Tsoding and also to Lua, that actually fixed you! Hehehe:)

    • @Turalcar
      @Turalcar 6 месяцев назад +2

      You mean rhetorical question which this most likely was. Tsoding's issue with that question was the assumption that this is not normal. In every place I worked in you're expected to be able to make small changes in almost any language.

  • @IamPyu-v
    @IamPyu-v 7 месяцев назад +7

    Gotta implement this fix to the embedded Lua interpreter in my app.

  • @elgalas
    @elgalas 7 месяцев назад +3

    Gonna take note of, Asserting dominance, when joining a new project.

  • @glowiak3430
    @glowiak3430 7 месяцев назад +16

    Make it a PR. They would commit a sin not accepting it.

    • @BlueIsLeet
      @BlueIsLeet 7 месяцев назад +2

      Ik ur joking but obviously they cant change it at this point

    • @skaruts
      @skaruts 7 месяцев назад +5

      Yea, unfortunately this is probably set in stone for the foreseeable future. They couldn't change it overnight. They would have to warn the community in advance that, say, version 6 would be 0-indexed. And then they'd have to set a team aside to keep working on versions 5.x for years, like python did with 2.7, because there's a whole ecosystem out there that accounts for 1-indexing.

    • @BlueIsLeet
      @BlueIsLeet 7 месяцев назад +2

      @@skaruts I don't think there's any realistic path to changing the indexing at this point. That's a reason why I don't really use Lua, not enough batteries included like Golang or Java/Kotlin and weird design decisions

    • @skaruts
      @skaruts 7 месяцев назад +5

      @@BlueIsLeet Lua doesn't have weird design decisions apart from 1-indexing. Unlike python...
      But yea, I don't see it changing any time soon either. That said, while 1-indexing is a perpetual rock-in-the-shoe, all the merits of Lua really make it worth resigning to live with 1-indexing.
      Batteries it could never include, because Lua was made to be an auxiliary language, where the host application provides the batteries. If it provided batteries, it would become bloated, and it would prevent the host applications from providing them in their own optimal way.

    • @diskpoppy
      @diskpoppy 7 месяцев назад +2

      For everyone who can't see it changing - that's the exact sunk cost fallacy thinking that drowns us in today's inane legacy mess

  • @JuniperHatesTwitterlikeHandles
    @JuniperHatesTwitterlikeHandles 7 месяцев назад +9

    Russian луна́ is not from latin, actually, it's from a common ancestor with latin, they just developed in very similar ways.

  • @anon_y_mousse
    @anon_y_mousse 7 месяцев назад +19

    I'm not going to say it's better, because it's really just a different way of doing things, but Vim makes it pretty easy to add keywords for highlighting. I defined null as an alias for NULL that I use in my header for every project, and I just added it to the list of keywords and it was highlighting from then on. The weird error you had when trying to compile later was that you added 'a' to the start of lua_load() at around the 41:00 mark.
    As for adding 0-based indexing, I'd name it Lua++ and use .lpp for the file extensions to differentiate it. And as far as using a double block, you could either convert it into a for loop that runs twice, or convert it to a while loop and use a local inner variable to determine the exit condition of the loop.

    • @KleptomaniacJames
      @KleptomaniacJames 7 месяцев назад

      I have a similar thing for vs, I use rust type names, have a special macro "loop" defined as "for(;;)"

    • @delibellus
      @delibellus 7 месяцев назад +2

      I switched from Emacs to Vim because I didn't like configuring Emacs (Emacs distros don't solve this all the way for me, especially when I wanted to disable default stuff). Configuring syntax highlighting is one of my favourite things in Vim because it's so simple and yet so powerful. Probably one of the things that will make me stay for good.

    • @oblivion_2852
      @oblivion_2852 7 месяцев назад +6

      I'd call it Lua-- because it's lua decremented from 1 to 0 xD

    • @siriusleto3758
      @siriusleto3758 7 месяцев назад +2

      Id name Lu0

    • @anon_y_mousse
      @anon_y_mousse 7 месяцев назад

      @@siriusleto3758 Out of all the options, this might be the best one.

  • @enderman4
    @enderman4 7 месяцев назад +6

    Finally, arrays in Lua (tables reference)

  • @progfix
    @progfix 7 месяцев назад +9

    You mentioned at the end you look into other open source projects from time to time. Which ones did you look into and found interesting?

  • @whatevermait1
    @whatevermait1 7 месяцев назад +6

    ...sometimes you gotta do "die Scheiße"

  • @TankorSmash
    @TankorSmash 7 месяцев назад +6

    1:05:00 man gets frustrated its hard to add new syntax highlighting to a language specifically designed to never add new syntax

    • @TsodingDaily
      @TsodingDaily  7 месяцев назад +9

      It's highlighting for a single keyword, come ooooon! 😭

    • @TankorSmash
      @TankorSmash 7 месяцев назад +4

      Just looked, 13 years ago when the lua-mode was created 08cff6e3c2aa860bc26a43dc2cde1ca66558597b it was just a regex. Wonder if the software got smarter during its lifetime.

  • @nashiora
    @nashiora 7 месяцев назад +1

    With the complication of non-local jumps and `goto`, my first thought was to instead just transform `double` into `for i=1,2 do`, i.e. make double less a macro and more a loop so it plays nicely with the relative jumps. I probably would've done this from the start, but it's neat to see you took the code duplication approach first and found out interesting things about the byte code.
    (edit: I clicked post about 5 seconds before you mentioned the easy solution was to implement it as a loop, forgive me for my hubris haha)

  • @beegdigit9811
    @beegdigit9811 7 месяцев назад +3

    Why fix something when it can fix itself:
    days = {[0]="Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}

  • @awesomeguy11000
    @awesomeguy11000 7 месяцев назад +1

    I wonder if it would have been possible to backup the lexerstate and effectively run the lexer over the double body twice to get the goto statements into the internal backpatching system.

  • @fabiokleis
    @fabiokleis 7 месяцев назад +19

    Welcome to a Brazilian programming language.

  • @patfre
    @patfre 7 месяцев назад +4

    I feel like this is just a dumb way of doing it. Lua basically treats an array as a key value pair so you could literally just say the key is 0, 1, 2… etc instead

    • @minamur
      @minamur 7 месяцев назад +1

      it's been a while since i used lua, but iirc you *can* do that, but any standard function that expects an array won't recognize the zeroth index, e.g. # will return 1 less than the length.

  • @brivism
    @brivism 7 месяцев назад +14

    "tylko jedno w głowie mam"... lua 5.1gram

  • @kirsanov2008
    @kirsanov2008 7 месяцев назад +1

    I FKN LOVE THE POWER OF SIMPLICITY!!!

  • @CoolestPossibleName
    @CoolestPossibleName 7 месяцев назад +2

    There should be a specification statement like in fortran to opt out of the 1 indexing of the array

    • @minamur
      @minamur 7 месяцев назад

      that's one of the all time greatest bad ideas.

    • @CoolestPossibleName
      @CoolestPossibleName 7 месяцев назад

      @@minamur I'd like to know why. I was talking about the "implicit none" thing

    • @jeffirwin7862
      @jeffirwin7862 7 месяцев назад

      @@CoolestPossibleName fortran also has arrays that can start at any index, although the default is 1

    • @CoolestPossibleName
      @CoolestPossibleName 7 месяцев назад

      @@jeffirwin7862 I'm not talking about fortran's array system. there's a specification statement called "implicit none" to get rid of implicit types. I think it will be great to have such specification statement to make the array start from 0 in lua. I'd love to know why it's a bad idea

    • @samuelwaller4924
      @samuelwaller4924 7 месяцев назад +1

      ​@@CoolestPossibleNameits just not worth it it. Worst case, every program/library would have to check for what the index is set to, and act accordingly. Best case, it is block scoped and now you get to have the extra burden of having to add "index 0" or whatever to every single file or function, and the mental overhead of remembering that. And then you are still going to end up writing "startindex" everywhere because that's what happens in every language that does that. You literally just add 1 ffs is it that hard

  • @Solemn_Lemon
    @Solemn_Lemon 7 месяцев назад +1

    You fixed Lua? Why? It's part of the experience!

  • @dtomvan
    @dtomvan 7 месяцев назад

    2:05:34: This is not true, the ipairs function will index raw, starting from zero. Which "user-facing-value" for a starting index is used does not matter.

  • @seropigeorge
    @seropigeorge 4 месяца назад

    U are literally the best programmer Livestreamer on yt in my opinion

  • @F_A_F123
    @F_A_F123 3 месяца назад

    46:30 you're actually wrong here. Luná in Russian is inherited from Proto-Indo-European *lówksneh₂, and Latin lūna is inherited from the same Proto-Indo-European word. Those things are cognates

  • @elirannissani914
    @elirannissani914 7 месяцев назад +13

    Where can i find your emacs configuration?

  • @JamesSjaalman
    @JamesSjaalman 7 месяцев назад

    The priority limit was first invented/discovered by Bob Floyd.

  •  7 месяцев назад

    "luac" must be the compiler: anything ending with "c" is a compiler, in classic UNIX style. Also --help says the output is "luac.out", similar to the default output file for the C compiler (gcc still does it that way) is "a.out".

  • @1Iljo1
    @1Iljo1 7 месяцев назад +4

    submit the pull request

  • @daltonyon
    @daltonyon 3 месяца назад

    TJ will be happy to see that the 1-based was fixed hahaha

  • @diegorocha2186
    @diegorocha2186 7 месяцев назад +3

    You look like you just won a brand new skateboard or something like this lol kkkkk never saw someone so happy reading code (at least until minute 49:00 lol I'm still watching)

  • @Sinthoras155
    @Sinthoras155 Месяц назад

    "We'll maks indexing start at 0"
    Instant like of the video

  • @Radgerayden-ist
    @Radgerayden-ist 7 месяцев назад +11

    Hi tsoding now that you've got some Lua experience you should check out the löve framework, it's very similar to raylib in a lot of ways but focused on lua

    • @skaruts
      @skaruts 7 месяцев назад +2

      And really competent in terms of performance. Although in part it's also LuaJIT being really competent at that too.
      There's also a 3D lib for Love2d in the works, called 3DreamEngine, and it performs really great too.

    • @SlinkyD
      @SlinkyD 7 месяцев назад

      I watch Eskil's data visualization prototype vid every few months. Imma trash programer but his & this.channel gives me motivation to rise to mediocre dev.

    • @siriusleto3758
      @siriusleto3758 7 месяцев назад

      And Bitty Engine

  • @test-rj2vl
    @test-rj2vl 6 месяцев назад

    Lua devs should add compile time parameter to tell what the first element of array should be. So that I could make game whose scripting engine starts arrays with -2 or with 5.

  • @xarchist
    @xarchist 7 месяцев назад +2

    Is the code for emacs lua-mode longer than the actual lua interpreter?

  • @dickpiano1802
    @dickpiano1802 7 месяцев назад +1

    Man... Цoding... what a guy!!!

  • @MyriadColorsCM
    @MyriadColorsCM 7 месяцев назад

    Impressive, very nice.
    Now lets see Paul Allen's fix for Javascript.

  • @shamsiddinavezov5045
    @shamsiddinavezov5045 7 месяцев назад

    so by doing copy pasting, we can just add proper Table thing, like there is default Table that starts from 1 and properTable that starts with 0) no codebase in the world will be broken that way I guess

  • @ivanjermakov
    @ivanjermakov 7 месяцев назад +1

    Lua's design is focused on embeddability, so all main does is that it prepares interpreter/bytecode VM and starts file execution.

  • @b-rosa
    @b-rosa 3 месяца назад

    "lua" is literally the Portuguese word for moon

  • @adammontgomery7980
    @adammontgomery7980 7 месяцев назад

    I'm amazed at the comments in this source code.

  • @AshliBlattgold
    @AshliBlattgold 3 месяца назад

    rawr unprotected

  • @hansdietrich1496
    @hansdietrich1496 4 месяца назад

    I had to translate a lot of matlab code (that is 1-indexed just like lua) into python/numpy code. Since then I have a very solid disgust against any 1-indexed language.

  • @stevenaguilera9202
    @stevenaguilera9202 7 месяцев назад

    Do you know of any resources on how to write and build a website in Lua ?🙏

  • @azergante8268
    @azergante8268 7 месяцев назад +1

    Can you hack into Rust and fix what’s wrong with it?

  • @bhavyakukkar
    @bhavyakukkar 7 месяцев назад

    55:17 i know some devs who have a very different meaning for what "high-level" is lol

  • @RandomGeometryDashStuff
    @RandomGeometryDashStuff 6 месяцев назад

    00:00 new bookmark

  • @modley_the_m_guy
    @modley_the_m_guy 5 месяцев назад +1

    guys i think he fixed lua

  • @neededathrowaway1818
    @neededathrowaway1818 7 месяцев назад +5

    What's the tool that lets Tscoding zoom in on the screen at any time? I've always wondered but can't find any info regarding it

    • @lukasaey
      @lukasaey 7 месяцев назад

      it's on his github, zoomer i think it's called

    • @Radgerayden-ist
      @Radgerayden-ist 7 месяцев назад +2

      It's a tool he wrote himself called "boomer" iirc

    • @anon_y_mousse
      @anon_y_mousse 7 месяцев назад +1

      If you used KDE you could have it built-in already. I'm sure GNOME could do it too, if that's your flavor, but I don't use GNOME.

    • @SlinkyD
      @SlinkyD 7 месяцев назад +1

      Alt+Mouse_Scroll got ya covered in XFCE.

  • @douglaslima5199
    @douglaslima5199 7 месяцев назад

    PUC - RIO, brasil mentioned let's go!!!

  • @PavelAShvedov
    @PavelAShvedov 7 месяцев назад

    Waited for double block inside another double block

  • @labsendeyshent
    @labsendeyshent 7 месяцев назад +1

    This lua-mode for emacs 💀

  • @cacheman
    @cacheman 7 месяцев назад

    The Roblox people went off and wrote luau-lang which is an "improved lua". Remains to be seen if it'll gain any traction.

  • @norude
    @norude 7 месяцев назад

    what if you jump *into* the double block?
    or even jump into a condition or a function or a loop.
    So basically goto is weird

    • @norude
      @norude 7 месяцев назад

      what if you goto to a place inside the loop from inside the loop

  • @samuelwaller4924
    @samuelwaller4924 7 месяцев назад

    I was considering doing something similar to this for my capstone and this guy just sits down and does it in 2 hours lol. Talking the whole time as well. I spent an hour just getting to understand the parser an gave up lol

  • @boody8844
    @boody8844 7 месяцев назад

    I was waiting for this for so long

  • @logannday
    @logannday 7 месяцев назад

    I’d love to see you write an lsp for porth

  • @abdo01386
    @abdo01386 7 месяцев назад

    I always wonder 🤔 if you are a typical introver programmer ?

  • @GRATHRRAM
    @GRATHRRAM 7 месяцев назад +1

    no way bro just chacked lua

  • @shaw-krowdashsabe2302
    @shaw-krowdashsabe2302 6 месяцев назад

    can you do a tutorial of how to make a progeamming language in c++ im stuck

    • @TsodingDaily
      @TsodingDaily  6 месяцев назад

      Bruh, you already have C++. Why reinvent another language?

  • @jordixboy
    @jordixboy 7 месяцев назад

    Did Lua move to a register based machine ?

  • @adelarsq
    @adelarsq 7 месяцев назад +3

    Lua++ lmao

  • @qxqxqxqxq
    @qxqxqxqxq 7 месяцев назад

    I literally though about zero indexed lua yesterday

  • @DobryWujaszekKun
    @DobryWujaszekKun 7 месяцев назад

    > Doesn't fucking matter so that's important
    xDDDDD

  • @kungfooman
    @kungfooman 6 месяцев назад

    Whenever I used Lua, I used Luajit - what about that?

  • @cobbcoding
    @cobbcoding 7 месяцев назад

    when will neovim switch to hacked lua for config

  • @bart2019
    @bart2019 6 месяцев назад

    And now, think of something useful to extend the language with...

  • @HumanGamer
    @HumanGamer 7 месяцев назад

    Can you work on your text editor again soon :) I really enjoyed that project.

  • @alexloktionoff6833
    @alexloktionoff6833 6 месяцев назад

    Do you have plans for LuaJIT?

  • @SamArmstrong-DrSammyD
    @SamArmstrong-DrSammyD 7 месяцев назад

    So… you made Lua-

  • @orizach01
    @orizach01 7 месяцев назад

    can you fix python and make True -> true, and False -> false

  • @olusiooo2799
    @olusiooo2799 Месяц назад

    Repair it, it is stoping length of table by nil

  • @rudolf-adamkovic
    @rudolf-adamkovic 7 месяцев назад

    Next up: Fennel. :)

  • @hubstrangers3450
    @hubstrangers3450 7 месяцев назад

    Thank you....

  • @adr420
    @adr420 7 месяцев назад +1

    I write my neovim config in lua

  • @siriusleto3758
    @siriusleto3758 7 месяцев назад +1

    One of the reasons I love Lua is that the index starts at 1 😂

  • @DimaTiunov
    @DimaTiunov 7 месяцев назад

    Pogroming
    My life

  • @bobtheoutbuilder8552
    @bobtheoutbuilder8552 7 месяцев назад

    Almost 100k wtf

  • @almpazel1486
    @almpazel1486 7 месяцев назад

    how to join ur discord server?

  • @siriusleto3758
    @siriusleto3758 7 месяцев назад +2

    Lu0

  • @petromudrievskyj
    @petromudrievskyj 7 месяцев назад

    Jebated. You've actually only broken things

  • @blackhaze3856
    @blackhaze3856 7 месяцев назад

    Tsluading

  • @hamzakhiar3636
    @hamzakhiar3636 7 месяцев назад

    Now try to fix react

  • @19joni69
    @19joni69 2 месяца назад

    Rawr unprotected.... I really think you should be using protection 😁

  • @regfinley7111
    @regfinley7111 7 месяцев назад

    @ 28:00 that was a gem in the rough

  • @Paxsali
    @Paxsali 7 месяцев назад +3

    That's the thing... I don't think you fixed Lua, Tsoding. Lua fixed you.

    • @joseoncrack
      @joseoncrack 7 месяцев назад +1

      Yeah, but that makes a 2-hour long video. What can you say.

  • @blastygamez
    @blastygamez 7 месяцев назад

    Finally

  • @mythacker4365
    @mythacker4365 7 месяцев назад

    Nice

  • @lhpl
    @lhpl 7 месяцев назад

    So the right fix is to allow any upper and lower index bounds. Please tell me that this is the fix, because if not, there's no reason to watch.

    • @anon_y_mousse
      @anon_y_mousse 7 месяцев назад +1

      It actually already does that. The problem comes in when you manually loop.

  • @victorandreverdipereira7440
    @victorandreverdipereira7440 7 месяцев назад

    Chama no Brasil 👌

  • @kthelemon
    @kthelemon 6 месяцев назад

    ok now fix python

  • @HuntingKingYT
    @HuntingKingYT 7 месяцев назад +5

    neovim 😛

    • @nyvyme
      @nyvyme 7 месяцев назад +3

      emacs, bro

    • @r2com641
      @r2com641 7 месяцев назад +1

      @@nyvymeclion

    • @IamPyu-v
      @IamPyu-v 7 месяцев назад

      @@r2com641 💀