![Programming Rainbow](/img/default-banner.jpg)
- 107
- 25 895
Programming Rainbow
United Kingdom
เข้าร่วมเมื่อ 4 ก.พ. 2024
C, C++, COBOL, Go, Gforth, Haskell, JavaScript, Lua, Python, Ruby and Rust
08 - Sound Effects and Music - Beginners Guide to SDL2 in Odin
Initialize SDL_Mixer. Open Audio device. Load and Play, Music and Sound effects.
An in-depth guide to getting started with SDL2 in the Odin Language.
Github:
github.com/ProgrammingRainbow/Beginners-Guide-to-SDL2-in-Odin
@ProgrammingRainbow
An in-depth guide to getting started with SDL2 in the Odin Language.
Github:
github.com/ProgrammingRainbow/Beginners-Guide-to-SDL2-in-Odin
@ProgrammingRainbow
มุมมอง: 26
วีดีโอ
07 - Player Sprite - Beginners Guide to SDL2 in Odin
มุมมอง 28วันที่ผ่านมา
Loading a player texture. Querying a Texture. Checking the Key State to move the sprite. An in-depth guide to getting started with SDL2 in the Odin Language. Github: github.com/ProgrammingRainbow/Beginners-Guide-to-SDL2-in-Odin @ProgrammingRainbow
06 - Moving Text - Beginners Guide to SDL2 in Odin
มุมมอง 25วันที่ผ่านมา
Move Text around the screen and bounce off of edges. An in-depth guide to getting started with SDL2 in the Odin Language. Github: github.com/ProgrammingRainbow/Beginners-Guide-to-SDL2-in-Odin @ProgrammingRainbow
05 - Creating Text - Beginners Guide to SDL2 in Odin
มุมมอง 45วันที่ผ่านมา
Initializing SDL_ttf. Creating a TTF_Font. Creating a Text Surface. Converting a SDL_Surface to SDL-Texture and freeing a SDL_Surface. An in-depth guide to getting started with SDL2 in the Odin Language. Github: github.com/ProgrammingRainbow/Beginners-Guide-to-SDL2-in-Odin @ProgrammingRainbow
04 - Changing Colors and Icon - Beginners Guide to SDL2 in Odin
มุมมอง 38วันที่ผ่านมา
Using rand to change the Renderer color. Load a Window Icon. An in-depth guide to getting started with SDL2 in the Odin Language. Github: github.com/ProgrammingRainbow/Beginners-Guide-to-SDL2-in-Odin @ProgrammingRainbow
03 - Background - Beginners Guide to SDL2 in Odin
มุมมอง 41วันที่ผ่านมา
Initialize SDL2 Image. Load Texture and draw Background. An in-depth guide to getting started with SDL2 in the Odin Language. Github: github.com/ProgrammingRainbow/Beginners-Guide-to-SDL2-in-Odin @ProgrammingRainbow
02 - Close Window - Beginners Guide to SDL2 in Odin
มุมมอง 28วันที่ผ่านมา
Game Loop, Events and closing the Window. An in-depth guide to getting started with SDL2 in the Odin Language. Github: github.com/ProgrammingRainbow/Beginners-Guide-to-SDL2-in-Odin @ProgrammingRainbow
01 - Open Window - Beginners Guide to SDL2 in Odin
มุมมอง 109วันที่ผ่านมา
Initializing SDL2, Creating Window and Renderer. Handling errors and freeing resources. An in-depth guide to getting started with SDL2 in the Odin Language. Github: github.com/ProgrammingRainbow/Beginners-Guide-to-SDL2-in-Odin @ProgrammingRainbow
NvChad - Neovim - Python (Dreams of Code) - Archlinux
มุมมอง 45814 วันที่ผ่านมา
How to configure NvChad for Python (Dreams of Code) A guide for adding Python support for NvChad/NeoVim on Archlinux. We will be configuring LSP, Linting, Formatting and Syntax Highlighting using Pyright, Mypy, ruff, Black, DAP, and DAP UI. This is a based on a Dreams of Code video. th-cam.com/video/4BnVeOUeZxc/w-d-xo.html Github: github.com/ProgrammingRainbow/NvChad-2.5 @ProgrammingRainbow
NvChad - Neovim - Python - Archlinux
มุมมอง 39714 วันที่ผ่านมา
How to configure NvChad for Python A guide for adding Python support for NvChad/NeoVim on Archlinux. We will be configuring LSP, Linting, Formatting and Syntax Highlighting using Pyright, Flake8, Isort, and Black. Github: github.com/ProgrammingRainbow/NvChad-2.5 @ProgrammingRainbow
Super Clock - Part 3 - Lua and Love2D
มุมมอง 3121 วันที่ผ่านมา
We will add more layouts for the clock and an ability to change it. We will also add the ability to toggle the size of Super Clock. A Tutorial Series for creating a Binary Clock in the Lua language and Love2D. github.com/ProgrammingRainbow/Super-Clock-Love2D @ProgrammingRainbow
Super Clock - Part 2 - Lua and Love2D
มุมมอง 5421 วันที่ผ่านมา
We will add a numeric display as a theme option. We will add a rainbow color option and black and white option. We will also add a darker display for the off bits. A Tutorial Series for creating a Binary Clock in the Lua language and Love2D. github.com/ProgrammingRainbow/Super-Clock-Love2D @ProgrammingRainbow
Super Clock - Part 1 - Lua and Love2D
มุมมอง 5121 วันที่ผ่านมา
We will be setting up the main.lua, conf.lua, and clock.lua files. We will get the system time and convert it into a binary version. We will then create the vertical layout for Super Clock. Finally we will finish the first video by drawing a working version of Super Clock. A Tutorial Series for creating a Binary Clock in the Lua language and Love2D. github.com/ProgrammingRainbow/Super-Clock-Lov...
NvChad - Neovim - Go/Golang - Archlinux
มุมมอง 75521 วันที่ผ่านมา
How to configure NvChad for Go/Golang A guide for adding Go/Golang support for NvChad/NeoVim on Archlinux. We will be configuring LSP, Linting, Formatting and Syntax Highlighting using lspconfig, lint, conform and treesitter. Github: github.com/ProgrammingRainbow/NvChad-2.5 @ProgrammingRainbow
Conway's Game of Life - Part 3 - Lua and Love2D
มุมมอง 106หลายเดือนก่อน
Conway's Game of Life - Part 3 - Lua and Love2D
Conway's Game of Life - Part 2 - Lua and Love2D
มุมมอง 55หลายเดือนก่อน
Conway's Game of Life - Part 2 - Lua and Love2D
Conway's Game of Life - Part 1 - Lua and Love2D
มุมมอง 301หลายเดือนก่อน
Conway's Game of Life - Part 1 - Lua and Love2D
Don't Eat the Yellow Snow! - Part 5 - Lua and Love2D
มุมมอง 62หลายเดือนก่อน
Don't Eat the Yellow Snow! - Part 5 - Lua and Love2D
Don't Eat the Yellow Snow! - Part 4 - Lua and Love2D
มุมมอง 24หลายเดือนก่อน
Don't Eat the Yellow Snow! - Part 4 - Lua and Love2D
Don't Eat the Yellow Snow! - Part 3 - Lua and Love2D
มุมมอง 49หลายเดือนก่อน
Don't Eat the Yellow Snow! - Part 3 - Lua and Love2D
Don't Eat the Yellow Snow! - Part 2 - Lua and Love2D
มุมมอง 115หลายเดือนก่อน
Don't Eat the Yellow Snow! - Part 2 - Lua and Love2D
Don't Eat the Yellow Snow! - Part 1 - Lua and Love2D
มุมมอง 204หลายเดือนก่อน
Don't Eat the Yellow Snow! - Part 1 - Lua and Love2D
NvChad - neovim, treesitter, lspconfig, lint and conform - Archlinux
มุมมอง 3.9Kหลายเดือนก่อน
NvChad - neovim, treesitter, lspconfig, lint and conform - Archlinux
Setting up Alacritty, Fish, Nerd Font for Archlinux.
มุมมอง 2K2 หลายเดือนก่อน
Setting up Alacritty, Fish, Nerd Font for Archlinux.
Manual Installing Archlinux - Bare Metal - xrdp - KDE 6
มุมมอง 3242 หลายเดือนก่อน
Manual Installing Archlinux - Bare Metal - xrdp - KDE 6
Manual Installing Archlinux - virt-manager - xrdp - KDE 6
มุมมอง 1672 หลายเดือนก่อน
Manual Installing Archlinux - virt-manager - xrdp - KDE 6
Installing Archlinux - archinstall - Bare-Metal - xrdp - KDE 6
มุมมอง 6162 หลายเดือนก่อน
Installing Archlinux - archinstall - Bare-Metal - xrdp - KDE 6
Installing Archlinux - archinstall - virt-manager - xrdp - KDE
มุมมอง 2282 หลายเดือนก่อน
Installing Archlinux - archinstall - virt-manager - xrdp - KDE
your previous video with basic settings for nvchad was the best I've found and the only one to work. though with Python, it's not that easy. pyright is not showing any methods whatsoever, instead, I see a bunch of snippets and when I save the file it says 'formatter black timeout' no matter how big I set the timeout(
This is just a recreation of what Dreams of Code did in his video. Because people were asking me about DAP so i just ported over what he did. But you know you can mix and match the 2 versions. You said pyright wasn't working. does it say the LSP is in the bottom right?
Nice! Could you make one about rust?
I haven't used rust in neovim yet but I am sure i could find a basic setup and show how to implement it, like the other languages. That way people can fine tune it for themselves.
@@ProgrammingRainbow I know that rustaceanvim is part of the party! but there are other things...
@@LinuxForLife So what is the LSP linter formatter and also treesitter files that need to be involved with your rust projects?
@@ProgrammingRainbow idk
Great topic to dig into! Thanks for this series! Btw, how did you achieve the cpp2 syntax highlighting? I'm trying it in VS Code with MS C++ extensions, but there is no cpp2 syntax highlighting (or I probably miss something).
@dino_source there is an official vs code addon for cppfront, the one herb mentioned. That's why I was in vs codium for this one instead of neovim.
@@dino_source marketplace.visualstudio.com/items?itemName=elazarcoh.cpp2-syntax
@@ProgrammingRainbow yeah, thanks so much! I didn't manage to find it in VS Code Extensions Marketplace (inside VS Code), so just downloaded and installed it manually using the following command: code --install-extension ~/Downloads/elazarcoh.cpp2-syntax-0.0.5.vsix
could you please make a video where you add lets say dap for debugging and delve for unit tests? I would like to make my own config but I dont have time by now, so I was wondering if you could make that config and share your repo. thanx! Good job, btw.
@ricardoruiz3248 If you have a look at my Neovim NvChad (Dreams of Code) video, I duplicate the old dreams of code video with dap all setup. It should be all the same for go or other languages only the final dap-python part would need to be changed.
@ricardoruiz3248 th-cam.com/video/m0OobzFjEKE/w-d-xo.htmlsi=i5sA9QxMELr7giZ2 at 23:40 I start to show how to setup dap. The only part that is python specific is the final dap-python part.
hey i wanna ask something, currently im making some basic 2d pygame games. should i continue or start learning SDL
@AdityaYadav-jg9xw Both pygame and pygame zero are python bindings for sdl2. So you are already using SDL2. I would say if you're currently using PyGame to make a game, I would keep working on it in Python. There is nothing to lose by learning Python. But when you finish the project, you're working on if you're interested in another language. You could either rebuild the same game in another language or you could build a new project. If you watch my Pygame and C SDL2 beginners guide, you will see PyGame is working just as a Python implementation of SDL2. But I wouldn't tell someone to stop working on a project. It's better to finish it. Also, if you enjoy Python, then keep using it. However, if you're not enjoying it, then that would be a time to think of switching. This channel I try to try all different languages. But my first was Python and PyGame Zero, which I don't recommend, especially if you feel it's working against you. I went from having a hard time partially because it was my first experience. But then I used pygame. Its documentation was harder to understand at first but was easier to use. And then C and I had way more fun in C. However, there was almost no documentation that I understood, and it was all pointers, but it was easier for me at the time of my 3rd project to get into, and I just loved it. However, I hope that with the videos , I explain things that people can choose any language and understand how to get started and even understand the documentation a bit.
@AdityaYadav-jg9xw I would also love to see your project when it's finished. Don't worry if it's not a masterpiece, no ones is. But it would be nice to see and try out other people projects.
@@ProgrammingRainbow OK so for now i think i will continue on my project. The project isnt very special im just trying to make breakout replica, i have made space invaders,pong and some other basic stuff. I wanna make something like pydew valley.
@@ProgrammingRainbow ill make sure to update you once i start working on pydew project. do you have insta or a discord server where i can message you?
@AdityaYadav-jg9xw no I haven't set any social media up. But you can message me here or if you have a link to github or gitlab
Really great introduction to configuring neovim. I've seen many videos about configuring neovim and none of them went into detail like you. you demonstrated it very well. subscribed
@@iHapiW Thank you 😊
👍👏👏
I have a request. Can you make a full end-to-end project video with sdl2, like Mario or the Chrome Browser game
I think Mario took a large team of people a year or more to make. It wouldn't translate well to youtube. I used Firefox, so i had to look up the Chrome game. That is a much simpler game. I do have some games planned. The Yellow Snow game you can see in C or Lua, also Minesweeper, Tetris, Super Slock, Asteroids, and Conways Game of Life. Those will be future projects. But the dinosaurs game would not be hard to do.
@@ProgrammingRainbow Thank you. I've studied SDL2 from you in C++. I'd love more project videos.
@@ArnabJhaYT there will be more c++ as well. Buy you can always watch the c video
@@ArnabJhaYT Remember SDL2 is a C library. All other languages are interfacing with it directly as a C library or through a binding to the C library.
wrt the issue with the defer execution order, you can defer a whole block instead of a line at once: defer { game_cleanup(&game) os.exit(exit_status) } this will work as intended
and GetWindowFlags returns a bit flag, so if you want to check if a specific flag is set in it you use the bitwise & operator: if (sdl.GetWindowFlags(game.window) & cast(u32)sdl.WINDOW_SHOWN) == cast(u32)sdl.WINDOW_SHOWN { // WINDOW_SHOWN is set }
@pietrovismara1698 yeah that was just a bit of code I added in to show what was happening. I was focused on the renderer. But the documentation and proc signature doesn't let you know it's optional.
@pietrovismara1698 Yeah, that's a fair solution. It was something that hadn't occurred to me before I filmed it. And I think it was midnight at the time
A big thank you for the detailed information shared. This is pure gold. I could understand the amount of effort went in to make this video after lots of research and experimenting different settings. It was really helpful to understand on why each piece is required and how to integrate into the NvChad ecosystem. The surprising part is you haven't enabled any ads on a ~2 hr video. God bless you man! You are simply amazing.
I'm new to TH-cam. I'm not monetized and actually don't even know how that works. It says i need 3000 hours of view time. But also i don't know what adds look like on youtube since i never see them. I would think youtube would automatically put ads in? But yeah I'm happy it was informative that is what I wanted when making these videos. I'm no expert but I think every bit of knowledge shared is helpful to the next person.
Hey, Iam having a problem that says "nvchad requires neovim 0.1.0+"
what version of neovim are you using? I just checked mine and I'm on 0.10.1. But I'm also on Arch BTW so if youre not on arch you may have an older version. What system and version do you have.
@@ProgrammingRainbow Iam on 0.9.8 in kali which it should be the latest
@@kodeq1 It looks like Kali Linux is debian testing branch? I'm not very sure about Kali. Debian is great for using old software and not updating things. This is good for servers but not for Desktop use with latest software. 0.10 has been out for about 6 months i think. So I am sure it will come to Kali but not sure about how long it will take. I was not able to find a simple solution for getting neovim on Kali that doesn't involve just compiling it from scratch. So i don't have a very good answer. It does appear that nvchad needs 0.10 but i am not sure the best way to get that onto Kali. I would ask if there is a specific reason you use Kali?
@@ProgrammingRainbow cyber security. I think i might be able to download nvim from github and get the latest version
In my case, I can only use 'short, int and long on std::uniform_int_distribution<int> rand_color. If use <Uint8> instead of <int>, error occurred.
What OS are you using and what Compiler are you using? Are you using the same options i am using?
Do c# next 😂
I don't have Windows sorry i can't afford it.🤑 How about Zig or Nim? Also when i get enough confidence I am still holding back on Rust and Haskell.
@@ProgrammingRainbow I really need it for rust. i would appreciate ♥
C# is also on linux has been for more than 7 years
@health_doc Yeah Mono has been around for 20 years, but no one who's free of microsoft wants to use C#, especially in linux. .NET is a Windows world thing. Just because you can do a thing doesn't mean you should. The only other place C# is used is unity, and there is no longer is a good reason to use unity. I'm trying to train a neural network in C at the moment.
@@ProgrammingRainbow im not talking about mono.. if you prefer c over c# fine with me. It was a suggestion for a video
You are the best man I was struggling with NEOVIM for a while now but now you made it easy
Thank you very much
Thank you very much for sharing your experience with neovim-community. It's very helpful, I've learned from your videos a lot. My personal wish-list for upcoming videos (especially for C++, and if possible for Python too): debugging environment, adding 3rd-party libraries (to get syntax highlighting + auto-completion there - just like you did for Lua), telescope + harpoon, keymappings. For example, for C++ it's very usual to use SFML, some Boost libs, Abseil library, Facebook Folly library, libcoro (C++20 coroutine library) etc. Also great nice-to-have - some NvChad stuff (plugins maybe?) for build systems (CMake at least) and packet managers (at least more popular - Conan and vcpkg). For Python I'm personally interested in adding aiogram (Telegram API lib), 'cause last week I've been playing with coding Telegram bots, so it would be nice to get code highlighting and auto-complete for such libraries.
Huh, okay, just found nvcheatsheet (cheat sheet for NvChad keymappings): <leader> + ch So no questions about Telescope navigation and keymappings anymore. The rest of my personal wish-list is still relevant, though.
I'm about to do a Beginners guide for Odin. I do have some stuff partially setup for C++ and Python i will try make some projects in those languages soon.
@@ProgrammingRainbow thanks! Sounds great!
It os really impressive how your channel is the only one with updated documentation for beginners to nvim
@indigoalx2773 I don't know, but I wish the people with real knowledge would share it more often. I learned about this because people were asking about it.
38:20 that's a stack effect
Just noticed: it seems there is a typo in line 28: ebale -> enable
Yeah i see it now. Python just ignored it and worked correctly anyway. That code is pretty bad though.
Thanks for this series! It's very helpful.
Can you make a video about setting up c and c++
like this video? th-cam.com/video/upeAH74q0q4/w-d-xo.html
Good afternoon! What is the name of your desktop wallpaper? Where can I download them? Time 00:17
@user-mf1jj1bf2x I'm using a modified version of DTOS, which is a xmonad configuration on top of archlinux. It comes from the distrotube channel, and I think it's in this package gitlab.com/dwt1/wallpapers. It's Albert Einstein, but I don't think it's named that.
GIVE THIS MAN HIS VIEWS
Not sure if you're still checking these comments, but the reason for the seed issues is that the entropy is drawn from the upper bits rather than the lower. The rnd word performs an unsigned double-word multiplication and increment and uses the upper word as your result and the lower word as the next seed. This can be fixed by either bitwise reversing utime or just lshift'ing it enough that the upper bits represent a more reasonable timescale (the top bit initially represents 2^63 microseconds or 292000 years). Your solution also works, just figured I'd bring up why. The truest Forthian fix would be to just roll your own random word using a xoroshiro or similar lfsr based rng that's efficient and can use words already baked into gforth.
@OnTheBlank Yeah, my channel is still small enough that I reply to all comments. So I could bit shift or just do what I did by throwing away the first number. You lost me on the xor part. Im curious, How was my code and explanation? I'm really no expert in forth, I know it's probably not the most elegant, but I hope it was decent. May I also know if you have made any game or SDL2 project with it? I was thinking after some more small game projects we could run a game jam for forth.
@@ProgrammingRainbow There's a class or pseudorandom number generators based on shifts and bitwise operations. Xoroshiro and the "Xorshift" family of prngs are known for being implementable in a few lines of C code on embedded systems and being very good (better than Mersenne Twister which Matlab still defaults to despite its require a 2000 digit long prime for their implementation). Should be doable in a few lines of gforth as well. I myself am only getting started with gforth. My background is embedded firmware and electronics so I'm coming to gforth from having worked with systems with <1MB of ROM and <128KB of RAM. I'd be happy to try and contribute if someone wanted to try a simple game jam in gforth. I'd probably do some kind of a puzzle game. You could perhaps even do a Baba is You style game but in postfix notation with Forth words.
@@OnTheBlank Try my little game in forth github.com/JeremiahCheatham/Yellow-Snow/
I've learnt a lot through this video, this was very useful, thanks mate!
@@theweeb2591 Thank you so much
Please update the config for python
@thewhizhub5715 I updated it with Python a couple of days ago. It's in the repo. Just go into the configs folder and edit conform, treesitter, lspconfig, and lint lua files. Uncommented all the Python stuff. Anything I add, I have it commented out
Ok, don't really know my way around dap, however, I think i have it working. Please let me know if it's working as expect. I have added instructions to the bottom of the repo called Python (Dreams of Code) they are meant to be a port of his video. There is some changes but functionally it should be working just as his was. Hopefully. Could you try it out and let me know. Thanks.
Other use random in X and Y, like this: x = love.math.random(0, love.graphics.getWeidth())
It's a small thing, but I noticed you said "shift-colon" a couple of times. The 'CMD' plugin lets you just type ';' (i.e. without shift) to enter command mode.
@MikeMcGowan-y2b Wow yes your right. This is something I didn't know about. It seems nvchad has a remap. But this isn't vanilla neovim behaviour. But thanks for pointing this out.
Hello there, sorry to bother you again but why don't you have nvchad plugin in your repository?
@geekygiganerd It is nvchad. The nvchad plugins are implicitly pulled in when you first start nvim. This is how it's done from nvchad starter, the one you install straight from their repo. You are not meant to download nvchad directly.
look at nvchad/starter and also look at init.lua
@@ProgrammingRainbow hi just came here to say thanks. I could finally install this config using your repo.. the problem I was facing was due to the internet & I think partly due to my low end old PC, I used a codespace on GitHub to set it up first and then used some tactics to copy things to my pc and install the plugins properly. What a relief.
39:31 All this is great, of course, but it seems to me that generating a clang-format file from under the terminal (using the option "--dump-config > .clang-format") and using it with yours is best suited, since nvim-lspconfig using clangd (without any settings) immediately picks up the generated file inside the project. This gives an advantage over the fact that maintainers can immediately use this file and using formatting, picking up settings from clang-format
Yes you are correct. The clang-format is the recommended approach for large scale or advanced users. But this is meant to be very beginner friendly since that's kind of myself. So i want it to just work without having to make the file. I Talked about the same thing in my recent Super Clock for Love2D. I explained how to do it both way but then just hard coded it into my conform.lua because I'm kind of simple and basic lol. But yes you are right and it's good info for everyone. I wish i would have showed it both ways.
Please add debugpy + DAP & DAP.UI PHP & phpactor + xdebug 🙏🏻 manny thx for your efforts 👍🏻
@opposites-369 If you check the github for the video, you will see it already has instructions for basic Python. Also, it's added to the config files just commented out.
@@ProgrammingRainbow yes I know, but when I tried to set up debugpy it was very difficult, I just started learning programming, & getting the right tools because my laptop only gives 4GB ram, 2 days ago I tried to configure for debugpy + DAP & DAP.UI, & I need PHPactor & need xdebug too, I'm just a beginner who hasn't learned programming at all, just looked at the structure of the language (lua) and tried a combination of existing ones according to the source but still failed, because what the examples & instructions given by the creator are the same Very different from what you apply, thank you in advance for your attention.🙏🏻👍🏻
@opposites-369 I have never used a debugger before. The linter or lsp should be what you need. Also, print debugging is the first thing I would reach for. Debugging is usually used for stepping through very low-level programming like assembly. I'm not sure why it would be used in Python. Is it required for a course? If not, I would skip all that and just write code. 4gb of ram is low, but it really depends on the OS. You can easily handle 4Gb in linux, especially with zram. Since linux can run a desktop with just 1Gb and zram, it can turn that 4gb to 8. However, Windows loves to eat ram. Windows needs 4gb at idle, and you will be hitting that page file hard destroying your ssd. When learning programming, especially your first language, try not to overload yourself. Don't try to do or learn too many things. Use whatever editor you feel comfortable with, and don't worry if you don't know how to use everything. Just enough to edit and run. Let the only thing you're learning be just the language. Follow some instructions or tutorials and then make some little projects, edit and modify them, and make it again or something else. What you find interesting will be the best. Don't overload yourself with learning everything at once. Also, don't ask on reddit or stackoverflow. They are toxic, and they will just mess you up. Facebook group may work or youtube like this. Use free chatgpt or bing chat for explaining concepts. Keep the questions focused and ask from different angles because llms are very powerful and very dumb. They also lie a lot. But they are good at explaining concepts.
@@ProgrammingRainbow thank you for the advice given, I use ArchCraft Linux with bspwm, I use nvchad because I believe nvchad is a much lighter tool compared to vscode, therefore I use the tool under the terminal, only if debugpy is available maybe one day I will use it, maybe what I really need is PHPactor which is more than enough, as a starting point for the programming language I want to learn, thank you for taking the time to pay attention to me, thank you also for the instructions via the very useful TH-cam channel, I wish you good health and long life, greetings from Indonesia 🙏🏻👍🏻
@@opposites-369 Thank you very much.
This is an amazing tutorial, and I really like how you take your time and even moments where you are needing to problem solve on the spot. I wish more tutorials were like this, keep up the great work!
@Snowboardbound Thank you very much. This is one of my first videos. I had no idea how to stream or capture a mic or how to just talk and code. I start with a project I have made and break it into parts. Then I live streamed it. I edit the videos down, but really, I'm just removing empty spaces or fumbled sentences. When I make a mistake, I need to at least keep where I found the error and fix it, so anyone following will have the fix, too. Also, it is helpful to see mistakes. But I am getting less nervous. Also, I spent the last week learning krita better, and I recreated all my video cover art in svg. I also spent a couple days playing with my mic and trying different compression and eq settings to give a more natural sound. The latest NeoVim Golang should sound better. I'm learning this all as I go. I'm not sure if people realise but I don't use OBS or any capture card. I'm actually using just ffmpeg to capture the screen and a mic and sysyem sound. Ffmpeg splits the video into TH-cam twitch and a local file. So that crackling you hear when I close a game is the audio buffer underrun. But I think I have sorted it.
@@ProgrammingRainbow if this is one of your first videos then that’s amazing! It’s actually the first video I watched of you and the video and audio quality seems perfectly fine to me but it’s cool you’re working on making it even better. You definitely have a gift for teaching, this was very easy to watch and understand. Excited to check out more of your stuff
@Snowboardbound C was one of thr main reasons I wanted to make these because I found almost no helpful info when I was learning. Just people pointing to C++ content. I have a bunch of C projects planned.
Many thanks mate! Have been benefiting from your videos a lot lately!
@@NejatBJK Thank you so much
UPDATE: I think all the formatters for Go only apply to actual .go files. So all non Go filetypes have been removed from conform.lua. In `treesitter.lua` gotmpl has been added.
❤❤❤😊
Thank you.
Hello. I am a beginner in lua and was interested in this tutorial bjt I was wondering if it was necessary to download the .git file if I already have love 2D set up on VS Code. Cant wait to make this!
@The_Canadian_Engineer You don't need to clone the git repo. However you do need the image font and sound files. So you could download then as a zip or from git clone or even use your own. But a git clone or downloading as a zip or individually just to get those assets would be good.
Sorry i was sleeping when i replied. Conways Game of Life only relies on freesansbold.ttf and an icon image. you can simply omit the code that sets the icon image and download or get your own copy of the fonts that is the only files you actually need for this project.
@@ProgrammingRainbow Thanks so much for your help!
I'd like to ask if it's okay with you. If it's not too much trouble, could you please help me configure neovim for Python? Specifically, I'm interested in setting up debugging for Django. Unfortunately, I haven't been able to find any neovim configurations that support this particular setup.
@green3216 Yeah I have been working on it.
In my NvChad-2.5 repo i have added some python support for syntax highlighting, LSP, Linting, and formatting. I am not sure how this will work with django but you can try it out and let me know. Its a basic setup for pyright, flake8, black and isort. Instructions are in the README.md and also the code is added to the configs but commented out for treesitter, lspconfig, lint, and conform.
Ok, don't really know my way around dap, however, I think i have it working. Please let me know if it's working as expect. I have added instructions to the bottom of the repo called Python (Dreams of Code) they are meant to be a port of his video. There is some changes but functionally it should be working just as his was. Hopefully. Could you try it out and let me know. Thanks.
@@ProgrammingRainbow OK, I'll give it a try soon. Thank you again.
Just discovered this amazing channel. Thank you so much for the effort you put into these videos, the absolute best content! insta-sub!
Thank you so much. I am constantly learning how to make it better.
you deserve a big respect and support according to this great tutorials , we really get benefits from this product , thnks bro
I had planned to do a video for each language as i figured it out. Your question just made me jump on C and C++ and try to figure it out.
@@ProgrammingRainbow Yes I see , that's why I respect u a lot , I really appreciate it and good luck in the next tutorials
@@ProgrammingRainbowI just advice u to add chapters to ur videos to make it more organized and easy movement
SOLVED: I have been having some trouble running your code. I have installed "SDL2", "SDL2_image", "SDL2_mixer", "SDL2_ttf", and gforth. When I try to run "main.fs" I get this error: $ gforth main.fs /usr/bin/libtool: line 10833: g++: command not found in file included from *OS command line*:-1 in file included from main.fs:1 in file included from SDL2/SDL.fs:2 SDL2/c-helper.fs:22: libtool link failed >>>end-c-library<<< Backtrace: $7F8479204988 throw $7F8479240A58 c(abort") $7F84792413A8 compile-wrapper-function1 ~~~ gforth main.fs /home/tanuki/.gforth/libcc-named/sdl_platform.c:10:10: fatal error: SDL2/SDL_platform.h: No such file or directory 10 | #include <SDL2/SDL_platform.h> | ^~~~~~~~~~~~~~~~~~~~~ compilation terminated. in file included from *OS command line*:-1 in file included from main.fs:1 in file included from SDL2/SDL.fs:3 SDL2/SDL_platform.fs:10: libtool compile failed >>>end-c-library<<< Backtrace: $7FFBEA604988 throw $7FFBEA640798 c(abort") $7FFBEA6413A8 compile-wrapper-function1
Ok, I got things to work! I am using fedora as my linux distribution and this is what I had to install additionally. gcc-c++ SDL2-devel SDL2_image-devel SDL2_mixer-devel SDL2_tff-devel
Thank you very much for making this beginners guide series and releasing your work on connecting gforth and SLD2 to the public. I really appreciate it.
@touka32able I'm happy to see people get some use out of these. I do have plans to make games with forth. I made Yellow Snow already. I had that game made for everything before I recorded my first video. Even Javascript Rust and Haskell. But I am still learning how to make videos and best explain things. Also, I make sure I understand the content, too. So trust me, I have so much content planned. I'm targeting at least 5 games in 7 to 10 languages. That's upwards of 50 projects with 3 to 10 videos in each. I have other ideas, too, but just focusing on getting those parts done first.
@@ProgrammingRainbow I am excited for it! I have only recently discovered Forth and as a language it has really intrigued me. I'm currently building tetris on it, and your beginner guide series on SLD2 has been really helpful! Initially, I was doing everything through the terminal output using ascii characters. But thanks to you, with SLD accessible to me now, it really opens the door for graphical output and interfaces! The way you explain things I really enjoy, it radiates understanding of what you're talking about.
Can you make golang nvchad
@johnmichaelechavez5979 Yeah let me have a look
I have some instructions for Golang on my NvChad page. If you would like to give them a try and let me know if it's works will or if there is issues. It has syntax highlighting, LSP, Linting, and formatting.
why i got this error each time I opend brackets Error detected while processing TextChangedI Autocommands for "<buffer=1>": method textDocument/signatureHelp is not supported by any of t he servers registered for the current buffer
@@Programus-oy6yy is this a c or cpp file?
@@ProgrammingRainbow cpp file
@Programus-oy6yy You're using my old buggy version. In lspconfig, remove "client.server_capabilities.signatureHelpProvider = false" I would check the latest from github I changed several things before the video.
Detail explanation and giving out time to reply to the comments is one of the many reasons I subscribe to this channel. Thank you I am actually saving them to when I can get a pc to continue learning since I can't achieve this on my mobile. Keep up the good work man
Thank you so much.
I think this is the only video that explains it so that everyone can understand. Thank you very much
Thank you.
Thank a lot this all what i need tell me since all my focus is one c and cpp language is it possible to ignore luayls installation and stylua each time i opened any nvim they said that installing these staff was failed
The reason why i set up the lua is because neovim is configured in lua. So you need it installed no matter what language your programming in. It's also built in so i wouldn't remove them. But what i did was set it up so you can easily add other languages. If you go to the github page for this video and scroll down to the bottom you will see all the needed info on how to add C and Cpp with syntax highlighting, LSP, Linting and formatting. It's actually just some small add-ons. Most of the formatting code i added is because i prefer 4 spaces not 2. If you pull my repo you will also see that C and Cpp is already added but it's commented out in lspconfig treesitter and conform.
There is also my initial code for Yellow-Snow in C++ 20.
@@ProgrammingRainbow I get it, I will try fixing my issues.. thnks for everything 👍
How is your vs code so cool. What theme ?
@Skull-Kingler I'm using neovim it's a terminal based editor. I'm using a pre-configured version called NvChad. I have a video walking through how it's setup. If it's the color theme you like, it's called catppuccin and it should be available in vscode.
@@ProgrammingRainbow is Neovim Chad fast ? Can it be easily used like VS Code I mean install plugins and do no extra work for auto completions etc etc.. ?
@Skull-Kingler I don't think there is anything faster. It also is meant to be used without a mouse making you faster too since mouse and menus slow you down a lot. There is a big BUT, the kind Sir Mix Alot likes. It has a steep learning curve, and documentation is sparce. It's not a single tool but a collection of smaller tools working together. It's the Archlinux of editors. I'm no expert that is why I made a video explaining it so I myself can also remember how to use it 😅.
@@Kīīng-Skull I think the easy part is the big butt. It's all open source and all a bunch of separate projects with little or no documentation for the lay person. It is faster by far than VS Code hands down. Also i like it much more. It has Syntax highlighting, LSP, Linting and Formatting usually using the same plugins that VS Code uses. But it's not all packages up like VS Code is. Instead it's a puzzle with no instructions. So it can be frustrating. But if it's working and you are acclimated it's way better.
@@Kīīng-Skull Watch the Neovim - NvChad video and you can see all about it and how we configured it.
Best Löve Lua channel I have ever seen ❤❤❤
@@Kīīng-Skull Thank you so much.
what a amazing taturial and clear explaination, a big thnks for ur efforts ❤❤ im hoping that if u can make another video for cpp language by using the same method
I have added to the bottom of the nvchad-2.5 repo simple instructions for adding C support. It will give lsp, linting, and formatting with 4 spaces. Just follow that. I have also updated the nvchad config files in the repo to add it. But they are commented out. So if you like you can look at those 2 files or pull the repo. And just comment them.
@@ProgrammingRainbowoh i saw them , thnks again and best of luck
Hey bro , The changes you made for c/cpp worked very good , but I faced some issues with the header of iostream , when I enter #include <iostream> i i got this warning >> Included header iostream is not used directly (fix available) and After that I remembered what you did with the same issue with lua and I did the same with clangd too by adding this changes inside of lspconfig.clangd.setup settings = { clangd = { diagnostics = { enable = false, }, }, }, and it worked good i no longer got warning about including iostream or any related lib i just wanna know if what I did is the correct job or maybe i will face some problems later ?
@Marckfederer The reason I disable diagnostics in the other one was because I was using a different package for linting. For C and Cpp the clangd is perfered. What happens when you simply remove the offending included? It may not be needed.
@@ProgrammingRainbow I commented out the added changes i made to test what you suggest and indeed everything worked well and all iostream , strings ... objs working very well .. in this case its normally to no needed for including iostream and other libs but the prob is if I want to run my program in terminal or in any ide i think i will get errors about not including libs , so i will need again to includ them .. its not good for me to do this each time I switch between nvim editor and compiler running... do you have any idea?
you have no idea how much you are helping me to understand, you see is the first time i am having fun learn to programming and well, i guess i will use lua to develop games, once i get the hang of it, heh, you're uploading bunch of content, I am learning currently, since around a few days.. i am sure i'll get the grasp of it eventually and i'll take more closely the videos but omg thxx man you're a life saviour ^w^ unlike others that will say that between c, c++, java, was their first languages, i will say that lua was my first language < 3
@tuirod8920 That's great to hear. I am setting up Minesweeper next with sprite sheet loading and all the themes. I'm using lua because I did a video showing nvchad and lua. All these games will be shown in other language's too, eventually. Just like how the beginners guide is in other languages. And Yellow Snow is in C also. But Minesweeper in lua is coming next. With themes, sizes, and difficulties options.
a big thanks for this tutorial you really make it simple, i was really struggling with NvChad to customise it now finally ii can do it
@@d7g.x Thank you, that's great to hear.