CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Community Contributions (https://www.cfd-online.com/Forums/openfoam-community-contributions/)
-   -   [vimOF] vim Addon Highlight for OpenFOAM (https://www.cfd-online.com/Forums/openfoam-community-contributions/99343-vim-addon-highlight-openfoam.html)

Tobi April 1, 2012 14:15

vim Addon Highlight for OpenFOAM
 
1 Attachment(s)
Hi all together,

i am working with OpenFOAM and vim for changing all the files. When i work with bash or c++ the nice thing is, that vim highlight the code so i decided to create a vim highlight for the standard openFOAM case files.

I am not sure if that is helpful for anybody but i wanna share it with you. Its just a beta version and not an accurate tool. I fixed some bugs but there are still some and i implemented just the standard boundary conditions and solvers.

You can give me a feedback and i ll work on a new version for that.

you can download it on:

www.holzmann-cfd.de on the button "Skripte & Addons"

Greetings
Tobi

sail April 3, 2012 15:15

Hi Tobi.

Tahnks for sharing. your script seems very useful. Unfortunately i wasn't able to get it because i get an error 404 when i try to download it.

hope it is not an april's fool joke :D

regards

Edit: I've been succesfull eliminating the 1.1 in the filename. is it still the latest and gratest version?

Tobi April 3, 2012 17:16

Hi,

thx for the error report.
that was not really a april joke :D
i uploaded the file but did not rename it to 1.1 - now i ve renamed the file and the download is working.

And yes - its still the latest version.
Let me know if its useful for you!


tobi

Bernhard April 4, 2012 03:33

Nice work Tobias! Thanks for this.

I upgraded your install-script a bit, so that it will also work for non-root users of VIm
Code:

mkdir -p $HOME/.vim
mkdir -p $HOME/.vim/syntax
mkdir -p $HOME/.vim/colors

cp -i syntax/openfoam.vim $HOME/.vim/syntax/
cp -i scripts.vim $HOME/.vim/
#cat .vimrc >> $HOME/.vimrc
cp -i colors/openfoamcolor.vim $HOME/.vim/colors

Also, for the installscript, it may better to be a bit more careful with .vimrc and .vim/scripts. I can imagine that it may be better to cat >>

Tobi April 4, 2012 12:10

hi berhard,

thx for that new code.
i update my install file now :)

Thx.

Tobi


PS: the suggestion with cat is very good. I ll write a readme with short information!

Tobi April 7, 2012 09:00

Hi all,

a new version of the vim Addon for OpenFOAM is avaiable on my homepage.

Have fun!

Tobi

Tobi April 22, 2012 08:37

HI all,

its avaiable on git :)

https://github.com/shor-ty/vimExtensionOF

Tobi

kalle April 26, 2012 01:43

Nice! Thanks for sharing!

Some mod may make it more precise though:

Code:

let cnum = 1
while 1
  if (getline(cnum) =~ 'FoamFile')
      setfiletype openfoam
      colorscheme openfoamcolorBlackWhite
      break
  elseif (cnum == 20)
      break
  endif
  let cnum += 1
endwhile



Kalle

Tobi April 26, 2012 12:04

sounds very good - i ll implement it next week when I am back on my personal computer :)

thanks good idea


>>> Changed <<< :)

Tobi March 14, 2013 03:40

Hi all,

I made some changes during the last half year.

Now I ll update for the version 2.2.x and adding new keywords.

Have fun.

Tobi March 14, 2013 08:24

Quote:

Originally Posted by Tobi (Post 352559)
Hi all together,


you can download it on:

www.holzmann-cfd.de on the button "Skripte & Addons"

The new links is:

http://www.holzmann-cfd.de/index.php...im-highlighter

Karel November 30, 2013 15:09

Hi,

thanks for sharing this, it works perfectly.
I have been using highlighting for c++ till now, but this one is much better.

Karel

Tobi December 2, 2013 06:48

Hi Karel,

thanks for your feedback.

I am going to extend the keywords in my winter holyday.

I Keep you posted

Bernhard December 2, 2013 07:48

What might help you, is the following command from the $FOAM_SRC directory.

Code:

grep -oh "TypeName(\"[A-Za-z0-9]*\")" -r * | cut -d\" -f2
TypeName defines the name in the runtime selectiontable, so this is basically what you put in all the dictionaries :)

Tobi November 4, 2014 05:38

Hello all,

I added new keywords to the vim Extension and also changed the tab size to 4 spaces.
At the moment I switch all my repositories from github to the bitbucket server. Therefor you find the latest version here:

https://bitbucket.org/shor-ty/vimextensionopenfoam

Tobi November 17, 2014 09:50

Hello all,

I reorganized the file tree in the vim extension. Now you can add things very easy and it looks like the openfoam tree:
Code:

.
├── openfoam
│  ├── 0
│  │  ├── BC.vim
│  │  └── foamVariables.vim
│  ├── constant
│  │  ├── polyMesh
│  │  │  ├── blockMeshDict.vim
│  │  │  └── boundary.vim
│  │  ├── radiationProperties.vim
│  │  ├── RASProperties.vim
│  │  ├── regionProperties.vim
│  │  ├── solidThermophysicalProperties.vim
│  │  ├── thermodynamicProperties.vim
│  │  ├── transportProperties.vim
│  │  └── turbulenceProperties.vim
│  ├── general.vim
│  └── system
│      ├── changeDictionaryDict.vim
│      ├── controlDictFunctions.vim
│      ├── controlDict.vim
│      ├── decomposePar.vim
│      ├── fvSchemes.vim
│      ├── fvSolution.vim
│      ├── setFieldsDict.vim
│      └── snappyHexMeshDict.vim
└── openfoam.vim

If you want to add new syntax highlighting, just add a new file or edit the existing one.
The next days I will check out the colour schemes again to be more flexible.

Additionally I added a new check in the install script.
Have fun,...

Logan Page November 18, 2014 10:05

Out of interest what addon/s do you use for code completion, jumping around the OpenFoam source code, compiling, debugging, etc. in vim?

Tobi November 19, 2014 14:51

Dear all,

I am happy to let you know that I finished the version 3.0.
This contains a lot news. Especially the syntax in the files which looks like that now:
Code:

"----------------------------------------------"
" Contributor: Tobias Holzmann                "
" Last Change: November 2014                  "
" Version:    3.0                            "
" Email:      Tobias.Holzmann@Holzmann-cfd.de "
"----------------------------------------------"


" thermophysicalProperties
"-------------------------------------------------------------------------------


    "- Special behavior of specie mixture
    syn match thermodynamicSpecie2
    \ " \=specie\{1} \=
    \\| \=mixture\{1} \="
    hi link thermodynamicSpecie2 foam256_keyOnLeftSide


    "- Special behavior of specie at the end
    syn match thermodynamicSpecie1
    \ " \{1}specie\{1};\{1}"
    hi link thermodynamicSpecie1 foam256_keyOnRightSide


    "- Dictionarys (main)
    syn match thermodynamicDict
    \ "^thermoType
    \\|^mixture"
    hi link thermodynamicDict foam256_dictionary


    "- Special keywords on the left side
    syn keyword thermodynamicKeys
    \ thermo
    \ equationOfState
    \ energy
    \ thermodynamics
    \ transport
    hi link thermodynamicKeys foam256_keyOnLeftSide


    "- Thermodynamic models etc.
    syn keyword thermodynamicSettings
    \ nMoles
    \ molWeight
    \ Tlow
    \ Tcommon
    \ Thigh
    \ highCpCoeffs
    \ lowCpCoeffs
    \ CpCoeffs
    \ muCoeffs
    \ kappaCoeffs

  • code is much more readable
  • line size of each line is limited to 80 characters
  • additional checkouts in the script.vim to check in a better way and let the color be more consistent
  • I also created a bash function which will check automatically the available BC and insert them to the file (at the moment not published, but I will insert it)
  • New color schemes with 256 color support now and its a lot easier to change the colors now and modify it like you want
  • A lot of new keywords added


Available at bitbucket.org/shor-ty


I hope its useful for anybody using vim!
Feel free to modify the files and push it to the repository.



@Logan: Plugins for C++, Jumping with buffers and ":b# or number" for compiling I think you can do it because you can do everything in vim. I have to look for that.

Logan Page November 20, 2014 05:53

Here is what I've been able to sort out in vim to get it to be a complete IDE for OpenFOAM


Syntax Highlighting:
At the moment I'm using standard C++ syntax highlighting, but will be trying out Tobi's addon soon.

Code completion and jumping to definitions/declarations etc:

I was able to get the YouCompleteMe addon for vim (https://github.com/Valloric/YouCompleteMe) to work very nicely with OpenFoam.

Compiling:
A simple key binding to wmake in vim
Code:

nmap <silent> <Leader>mf :!wmake %:p:h<CR>
Debugging:
Haven't looked into this yet

Tobi November 20, 2014 05:59

Please notice that my stuff is not for coding.
Its only for the openfoam cases.

For completition also use
Code:

CTRL-N or P
And the wmake - its clear (:

Thanks for the link for code completition. I think its similar to: http://www.vim.org/scripts/script.php?script_id=1520
Maybe this would be very nice to have in the FOAM files too!

Tobi November 20, 2014 06:47

2 Attachment(s)
Hello all,

due to the hint of completion, I insert this feature into the colour scheme.
See attached pictures.

Have fun.

SD@TUB December 23, 2014 05:33

Compiling version 3.0
 
Hi Tobias,
Nice job! I have trouble when compiling on regular bash (Debian Wheezy), see following error:
Code:

"-----------------------------------------"
" vim addon for highlight OpenFOAM files  "
" Contributor:  Tobias Holzmann          "
" Last Change:  November 2014            "
" Version:      3.0                      "
"-----------------------------------------"

There is an existing $HOME/.vimrc file
The following lines are insert to the last line:
                ':set tabstop=4 shiftwidth=4 expandtab'
"- vim Extension OpenFOAM
:set tabstop=4 shiftwidth=4 expandtab
./install: Zeile 76:  : Kommando nicht gefunden.

vimExtensionOpenFOAM is ready to use...
Have a nice day...
Tobias Holzmann

I added the claimed line above to my ~/.vimrc-File by hand. When I open a dict-File vim claims:
Code:

err: please use a 256-color terminal
I guess something went wrong... Are there any special bash settings to be aware of?

/Stefan

effi December 27, 2014 10:50

Extension
 
Hello,

I'm currently working on making your Synatx-Highlighting Vundle (https://github.com/gmarik/Vundle.vim) / Pathogen compatible and making the colouring less "Forcing" (instead of an own colorscheme I try to remodel it to build on top of regular colorschemes so it can be used with the colorscheme of choice, in my case the infamous solarized (http://ethanschoonover.com/solarized)

You can find my cloned work-in-progress-fork currently on Github.com (Had an account there so it was easier for me). I'll try to move it to bitbucket soon so I can contribute my changes more easily back to your original effort.
Of course only in case you are interested in the aforementioned changes :).

https://github.com/effi/vim-OpenFoam-syntax

Tobi December 27, 2014 11:36

Hi, of course you can merged it with my repo. Feel free to modify it -

effi December 28, 2014 17:07

Hello,
I made a pull-request. There are currently still some shortcomings (described in the pull request), so if you want me to edge them out first I will try to give it a go :)..
But I highly recommend not using plugins for vim the old-fashioned way but through one if the great plugin managers. Makes it a lot easier to install, update and makes all plugins portable through the use of git for your .dotfiles :)

Tobi May 19, 2015 08:53

Dear all,

thanks for the messages for bug-reporting and extension (pull requests) I get.
The latest and I hope - bug free - version 4.0 is online. Ferdinand did a very good job and now its running without any complications.


Thanksgiving to Ferdinand Leinbach


https://bitbucket.org/shor-ty/vimextensionopenfoam



PS: Dear Stefan, sorry I did not realize your reply. Anyway I hope you get it (: In the latest version everything is working.

gaza September 26, 2018 05:01

Quote:

Originally Posted by Tobi (Post 546884)
Dear all,

thanks for the messages for bug-reporting and extension (pull requests) I get.
The latest and I hope - bug free - version 4.0 is online. Ferdinand did a very good job and now its running without any complications.


Thanksgiving to Ferdinand Leinbach


https://bitbucket.org/shor-ty/vimextensionopenfoam



PS: Dear Stefan, sorry I did not realize your reply. Anyway I hope you get it (: In the latest version everything is working.


Hi Tobi,
How to install your plugin using Vundle?

Tobi September 26, 2018 07:30

-> Readme file?

gaza September 26, 2018 08:22

in the readme file is only about pathogen
I need vundle
is it possible to use vundle for your plugin?


All times are GMT -4. The time now is 13:45.