• 1 Post
  • 65 Comments
Joined 1 year ago
cake
Cake day: June 28th, 2023

help-circle
  • 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.






  • 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.



  • 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.











  • Oscar@programming.devtoProgramming@programming.devRedis is no longer OSS
    link
    fedilink
    English
    arrow-up
    7
    arrow-down
    2
    ·
    3 months ago

    By the same argument, wouldn’t GPL and other copyleft licenses be considered non-free as well since you are not free to do whatever you want with the source? For example, incorporating it into a proprietary project, refusing to provide the source to users upon request, or not disclosing attribution, etc. The latter would even go against the terms of permissive licenses.

    Clearly defining what free, and by extension FOSS, means is very relevant.