Skip Navigation
Trouble setting up arduino on helix

Hi!

I am trying to set up arduino autocompletion and syntax highlighting. I followed some of the instuctions in an issue on the github adding that to my own common sense, and it mostly overlaps now. But the syntaxhighlighting is still not there, and neither is autocompletion.

My ~/.config/helix tree looks like this now: ``` . ├── config.toml ├── languages.toml ├── runtime │ └── queries │ ├── arduino │ │ ├── folds.scm │ │ ├── highlights.scm │ │ ├── indents.scm │ │ ├── injections.scm │ │ └── locals.scm │ └── cpp │ ├── folds.scm │ ├── highlights.scm │ ├── indents.scm │ ├── injections.scm │ └── locals.scm └── themes └── molokai-edit.toml ``` and the relevant content (I removed some markdown stuff for this post) of languages.toml: ```toml [language-server.arduino] command = "./arduino-language-server" args=["-clangd","/usr/local/bin/clangd","-cli","/usr/local/bin/arduino-cli","-cli-config","~/.arduino15/arduino-cli.yaml","-fqbn","arduino:avr:uno"]

[[grammar]] name = "cpp" source = { git = "https://github.com/tree-sitter/tree-sitter-cpp", rev = "a90f170f92d5d70e7c2d4183c146e61ba5f3a457" }

[[grammar]] name = "arduino" source = { git = "https://github.com/ObserverOfTime/tree-sitter-arduino", rev = "db929fc6822b9b9e1211678d508f187894ce0345"}

[...] < here was some config for markdown

[[language]] name = "arduino" scope="source.arduino" file-types=[ "ino" ] language-servers=[ "arduino" ] injection-regex = "arduino" comment-token = "//" roots=["sketch.yaml"] ``` I also installed the packages arduino-language-server (with dep clangd) and arduino-cli from the arch repos.

I just remembered: I am using the helix-ext AUR package (which means I am still on 23.10.2), to be able to use the file tree on the left. here is the repo. Could that be the issue?

I have no idea anymore what I am doing wrong, could anyone tell me? If you need more information to help, just ask for it.

addition (14-4-24): As I switched to nvim (lack of features in helix), I am not interested in setting this up anymore. Thanks!

0
[solved] Any multiline zsh compatible shells? [zsh config]
  • So I changed some other things to improve detection. I will update the post. But nice idea adding a hint! I personaly did that in a hint command also specifying other shortcuts and aliases about my zsh config.

  • [half solved] How to force screen orientation on lomiri desktop
  • Yea, so I updated the post with my current solution. Also, I moved away from ubuntu touch, because of lomiri not supporting X apps like libreoffice. Therefore I do not recommend ubuntu touch... But I am going to try postmarketos+kde plasma mobile. I will update if that works better.

  • [half solved] How to force screen orientation on lomiri desktop
  • I almost live in my terminal...

    But can you run lomiri on X? Mir is like wayland, where the shell and the wm are bound to the display server, and they work on that specific display server right? If it would be possible to run lomiri on X, I an trying that immediatly!

  • [half solved] How to force screen orientation on lomiri desktop
  • Ah. Ubuntu touch has the driver included, you just need to activate it. It is still the buggy driver, but it is a driver.

    I am liking the experience a lot, for me it works fine, exept for the screen being rotated. I would suggest getting one.

    I will have to say bluetooth also does not work yet, and kde (the default with danctnix) does not work really wel with a touchscreen.

  • [half solved] How to force screen orientation on lomiri desktop

    I recently got a pinetab2, and I booted it into ubuntu-touch, running lomiri. But the screen orientation is the wrong way (portrait). I am not interested in autorotate, so how would I force the screen orientation of a mir-based desktop to landscape? If you need more info to help me, just ask for it.

    edit: Yesterday while writing this I didn't have much time, so I forgot to mention the accual problem... The problem I'm having is that the autorotation sensor always reports portait mode, even when in landscape. It does report a change. I know this because it switches to desktop mode when I rotate with the keyboard plugged in. edit while writing previous edit: Now it does not even go to desktop mode anymore... So I guess it is now stuck even more.

    My solution was either disabling the rotation sensor's driver to make lomiri default to the set rotation in /etc/ubuntu-touch-session.d/flo.conf, or fixing the driver so it reports orientation correctly.

    edit 2: I currently solved this by editing /etc/deviceinfo/devices/pinetab2.yaml and removing all supported rotations except InvertedLandscape. This means it can't autorotate at all, but I wasn't interested in autorotate in the first place. If someone knows how to fix the driver and make autorotate work correctly, please let me know.

    7
    [solved] Any multiline zsh compatible shells? [zsh config]
  • Thanks for your reply! This made me think: could I bind enter to newline and alt-enter to accept, which then made me think if it was possible to have enter to accept and alt-enter to newline on first line only, after that in reverse. That made me think of the script I added to the post.

    But serious, without this I would have never thought of doing what I did.

  • [solved] Any multiline zsh compatible shells? [zsh config]

    Some time ago I found xonsh which is a python-based shell. It had really good multiline support, and I am searching for a shell with sameish multiline support as xonsh. Fish shell also has good multiline support, it is around the same level, but it is not posix compatible. I want a shell that has that kind of level of multiline, but zsh (bash is also fine) compatible.

    Does anyone know of one?

    edit: based on the replies, I get this is unclear. My problem with zsh is that if i press enter and it starts a new line, I can't get back to the prevous line, because a new prompt is started. In fish this is possible, all lines are one prompt. But, fish is not posix compatible. So, I guess I want a posix-compatible shell with fish-like lines (multiple line) editing. I wanted zsh support to keep using my custom oh-my-zsh prompt, but remaking it for a new shell is not a big problem. Sorry for being unclear.

    edit 2: solution is here! Thanks to @andy@programming.dev I started thinking and made the following: When on the first line, enter accepts and alt-enter inserts a newline. When not on the first line, enter inserts a newline and alt-enter accepts. Here is the code to put in your .zshrc: ```shell

    MULTILINE!!!

    bindkey '^[e' push-line-or-edit

    enter accepts when only one line found, else creates newline

    function _zle_ml_enter { if ! [[ $BUFFER == $'\n' ]]; then zle accept-line else zle self-insert-unmeta fi } zle -N _zle_ml_enter bindkey '^M' _zle_ml_enter

    alt-enter accepts when more than one line found, else creates newline

    function _zle_ml_meta_enter { if [[ $BUFFER == $'\n' ]]; then zle accept-line else zle self-insert-unmeta fi } zle -N _zle_ml_meta_enter bindkey '[M' _zle_ml_meta_enter

    ```

    edit: changed if [[ "$BUFFERLINES" -le 1 ]]; then to if ! [[ $BUFFER == *$'\n'* ]]; then and if [[ "$BUFFERLINES" -gt 1 ]]; then to if [[ $BUFFER == *$'\n'* ]]; then for improving detection. Also added alt-e shortcut because I had that configured myself but forgot to add here.

    17
    InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)VO
    vosjedev @lemm.ee
    Posts 3
    Comments 10