I use pyright in nvim and it's the one I've enjoyed the most. I don't work in projects that utilize strict typing, so I have typeCheckingMode
set to off
. I use flake8 for static analysis.
I think odin could be a good fit. I haven't used it myself. It seems to focus on 3D and game dev.
Maybe it's still using the borked config because all sessions were not exited? Try exiting it and then make sure no tmux process is still running, by for example running ps -aux | grep tmux
.
Otherwise there must be some tmux config still lying around in your $HOME.
Edit: I don't know anything about Macs so I'm just assuming it works similar to linux.
Does fzf search hidden folders? You could also try with this, to make extra sure: find $HOME -name "*tmux*"
.
Linux uses 8 spaces. Excerpt from the official style guide:
Tabs are 8 characters, and thus indentations are also 8 characters. There are heretic movements that try to make indentations 4 (or even 2!) characters deep, and that is akin to trying to define the value of PI to be 3.
Rationale: The whole idea behind indentation is to clearly define where a block of control starts and ends. Especially when you’ve been looking at your screen for 20 straight hours, you’ll find it a lot easier to see how the indentation works if you have large indentations.
Now, some people will claim that having 8-character indentations makes the code move too far to the right, and makes it hard to read on a 80-character terminal screen. The answer to that is that if you need more than 3 levels of indentation, you’re screwed anyway, and should fix your program.
In short, 8-char indents make things easier to read, and have the added benefit of warning you when you’re nesting your functions too deep. Heed that warning.
The reasoning seems sound, but I still prefer 4 personally.
gdu is another alternative. It is sometimes faster than ncdu for me.
I used vscode for a few years, but I eventually went back to neovim/tmux. It's a lot less resource heavy, and it's easy to just ssh and jump in from home. I also much prefer a modal editor and I don't want to have to touch a mouse.
What makes Servo a better bet than Ladybird? Who backs it?
Since people keep bringing up tauri, here's the comparison made in the README:
Dioxus vs Tauri
Tauri is a framework for building desktop (and soon, mobile) apps where your frontend is written in a web-based framework like React, Vue, Svelte, etc. Whenever you need to do native work, you can write Rust functions and call them from your frontend.
-
Natively Rust: Tauri's architecture limits your UI to either JavaScript or WebAssembly. With Dioxus, your Rust code is running natively on the user's machine, letting you do things like spawning threads, accessing the filesystem, without any IPC bridge. This drastically simplifies your app's architecture and makes it easier to build. You can build a Tauri app with Dioxus-Web as a frontend if you'd like.
-
Different scopes: Tauri needs to support JavaScript and its complex build tooling, limiting the scope of what you can do with it. Since Dioxus is exclusively focused on Rust, we're able to provide extra utilities like Server Functions, advanced bundling, and a native renderer.
-
Shared DNA: While Tauri and Dioxus are separate projects, they do share libraries like Tao and Wry: windowing and webview libraries maintained by the Tauri team.
That's OK, we all got our own preferences 😉 But I think you will be pretty good to go on t495. It has apparently been linux certified on older Ubuntu, which Mint is based on.
https://ubuntu.com/certified/201905-27049
Also linux certified by Lenovo:
https://support.lenovo.com/us/en/solutions/pd500343-linux-certification-thinkpad-t495-20njz4krus
For arch you can look here:
Oof, that's annoying.
Weird that :syntax off
doesn't work, from a small test it seems to do the trick for me. But I guess as long as vim works there's no need to replace it 🙂
For pipes theres set -o pipefail
(as of POSIX 2022)
Try running this: :set indentexpr=
and then :set noautoindent
. Without any config file, this works for me while in a makefile that looks like this:
foo: foo.c bar.h
$(CC) $< -o $@
The indentexpr
option is set by filetype, but disabling filetype indent after already opening a makefile is too late, it would need to happen before opening it (in either a config file or directly after running nvim
without any file specified).
However, indentexpr
seems to only control the automatic indentation when hitting enter at the target line, but not within the recipe for it. To fix that I also had to disable autoindent
.
Ah dang, you're right, I must have read it too quickly. Yeah then I also think it's something about not loading the config, it can be investigated by checking the runtime values like I described in my second edit.
Using a the ubuntu 24.04 docker image for testing, I was able to disable automatic indentation with this config in ~/.config/nvim/init.lua
:
vim.cmd("filetype indent off")
If you prefer using vim
syntax it would instead be the following in ~/.config/nvim/init.vim
:
filetype indent off
Note: it seems this file is not loaded if a init.lua file is present in that directory
Edit to add:
So the reason this is required is, similar to vim (so you may already be familiar with this), there are filetype-specific configurations loaded. These usually reside in /usr/share/nvim/runtime/<plugin/indent/syntax/etc>/<filetype>
. You can configure what files to load using the :filetype
command.
There's more info here: https://neovim.io/doc/user/filetype.html
Second edit:
Also when filetype indent/plugin/syntax is on, it seems to be loaded after your user config, so it overrides it. You can investigate if your actual config was applied or not by running, for example, :set autoindent?
or :set cindent?
. If the values do not match your configuration, it was likely overridden by :filetype
. This was the case for me.
Gotcha. That's actually good because it will be easier to troubleshoot. I will try to reproduce in a barebones config and see if I can figure something out. What language are you editing, and what version of neovim do you use? Distro may also be relevant in case they package some indent.vim file(s).
Are you using treesitter? I think that has an option to handle indentation, but I'm not sure if it's enabled by default.
Gonna have to disagree with you there, I don't find anything inappropriate or offensive in those questions. The last one is maybe a bit funny, but I guess that is subjective.
Are you also offended when asked what your preferred pronouns are?
nam
is assigned the value returned by input
.
This is not some edge case behavior by the input
function. This is always how function calls work. You can think of it like substituting input('Who are you? ')
with the value returned by it, which is the string typed in by the user in this case.
How did you install neovim? If you installed from source, double check that you followed the instructions, i.e. install build dependencies and then run:
make CMAKE_BUILD_TYPE=RelWithDebInfo
sudo make install
Also, double check the version of nvim in your PATH matches:
nvim --version
A journey to the world of Python packaging, a visit to the competition, a hopeful look at the future, and highlights from a disappointing discussion.
I stumbled upon this while researching package management options for python, and found it a really interesting read.
I like python as a language but this mess is something that needs to be addressed for me to consider python for future projects. I can't imagine how confusing it must be for new users.