Procedure Editor Quality of Life Improvements

I am somewhat new to coding in Igor and am quite use to the customization of neovim and vscode though the used of community plugins. I would edit my igor procedures with one of these but, their own community plugins for igor support are not great and I don't want to build my own. So instead I will list out some of my wish list to make the editor a bit nicer... for me at least (listed from what I think is easiest to hardest to implement)

  • Persistent Fonts - The standard font makes O's and 0's look to similar to me but it is annoying to change the font every time you re open igor. 
  • Formatting - This could either use forced formatting conventions, allow for user defined conventions, and allow the user to opt out if they don't want the formatting. 
  • Linting
  • LSP - There are some features of this going on under the hood, and maybe this is already implemented, but it would be nice to have the full functionality... 

Thanks !

Hi,

I think a fair number of your requests are there. With a procedure window open and the font set to your preference, mine is Inconsolata, and the size select capture prefs from the procedure menu. This will set the fonts.

For formatting, go to Misc Settings and Text Editing to set the preferences.

A form of linting occurs when you hit the compile button on the procedure window.

Also you can use an external editor if you choose.

Andy

> Formatting - This could either use forced formatting conventions, allow for user defined conventions, and allow the user to opt out if they don't want the formatting. 

You can use Edit->Adjust indentation in IP to get same basic formatting. There is no formatting tool which takes care of all the details (yet). We have developed some guidelines at https://docs.byte-physics.de/igor-pro-coding-conventions.

> LSP - There are some features of this going on under the hood, and maybe this is already implemented, but it would be nice to have the full functionality...

I don't know of any Language Server implementations for Igor Pro.

If you want to use vim, I'm as well, https://github.com/t-b/igor-pro-vim has the syntax rules.