8
submitted 7 months ago* (last edited 7 months ago) by mac@infosec.pub to c/vim

Vim9Script Types Help

I'm trying to add types to a language list in my vimrc file, the variable looks like this:

var languages = {
  'c': ['c', 'h'],
  'shell': ['sh'],
  'python': ['py'],
  'json': ['json'],
  'typescript': ['tsx', 'jsx', 'js', 'ts'],
}

I've tried adding types like this:

var languages: dict<string, list<string>> {...}

Which should work I think but I'm getting this error:

E488: Trailing characters: , list<string>> = {

I can't figure out which characters are trailing and AI has no idea either.

Solution

I was being a moron and defining a type for the key in the dictionary which makes no sense because the key name would always be a string so therefore only the value type is required:

var languages: dict<list<string>> {...}
top 4 comments
sorted by: hot top controversial new old
[-] knF@lemmy.world 2 points 7 months ago

Could it be because you didn't close the >> after dict<<string ?

[-] mac@infosec.pub 2 points 7 months ago

No it's dry l definitely fixed, I managed to get some help elsewhere, the solution was the fact that I'm seeing the your got the dictionary's key, which makes no sense because it would always be a string.

[-] zeet@lemmy.world 1 points 7 months ago

Shouldn't the last character be a } rather than a ]?

[-] mac@infosec.pub 1 points 7 months ago

This is a typo in the post, I'm the actual code it's closed correctly.

this post was submitted on 05 Apr 2024
8 points (100.0% liked)

VIM - Vi IMproved

1060 readers
5 users here now

For Vim enthusiasts and anyone interested in Vim/Neovim!

"VIM is the greatest editor since the stone chisel." - Dr. Jose Unpingco

#HJKL

founded 1 year ago
MODERATORS