CalculiX is a free software nonlinear three-dimensional finite element program for structural applications. Following steps results in syntax highlight of inp file in gedit:
- Add .xml in ~/.local/share/mime/packages named ccx.xml with following content:
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'> <mime-type type="text/x-inp"> <comment>CalculiX CrunchiX inp files</comment> <glob pattern="*.inp"/> </mime-type> </mime-info>
- Update mime-database as:
$ cd ./local/share $ update-mime-database mime - Add ccx.lang file in /usr/share/gtksourceview-3.0/language-specs or in path resulting from following command:
$ locate gtksourceview | grep /c.langThe content of ccx.lang is:
< ?xml version="1.0" encoding="UTF-8"?> <language id="ccx" _name="CalculiX" version="2.0" _section="Sources"> <metadata> <property name="mimetypes">text/x-inp</property> <property name="globs">*.inp</property> </metadata> <styles> <style id="comment" _name="Comment" map-to="def:comment"></style> <style id="keyword" _name="Keyword" map-to="def:keyword"></style> <style id="card" _name="Input Cards" map-to="def:type"></style> <style id="element" _name="Element Library" map-to="def:constant"></style> <style id="floating-point" _name="Floating point number" map-to="def:floating-point"></style> <style id="decimal" _name="Decimal number" map-to="def:decimal"></style> </styles> <definitions> <context id="comment" style-ref="comment"> <start>\*\*</start> <end>$</end> </context> <!-- http://www.lysator.liu.se/c/ANSI-C-grammar-l.html --> <context id="float" style-ref="floating-point"> <match extended="true"> (?<![\w\.]) ((\.[0-9]+ | [0-9]+\.[0-9]*) ([Ee][+-]?[0-9]*)? | ([0-9]+[Ee][+-]?[0-9]*)) [fFlL]? (?![\w\.]) </match> </context> <context id="decimal" style-ref="decimal"> <match extended="true"> (?<![\w\.]) [0-9]+[uUlL]* (?![\w\.]) </match> </context> <context id="keywords" style-ref="keyword"> <keyword>2D</keyword> <keyword>3D</keyword> <keyword>CIRC</keyword> <keyword>ELSET</keyword> <keyword>MATERIAL</keyword> <keyword>NAME</keyword> <keyword>NSET</keyword> <keyword>OUTPUT</keyword> <keyword>RECT</keyword> <keyword>SECTION FORCES</keyword> <keyword>SECTION</keyword> <keyword>S</keyword> <keyword>TYPE</keyword> <keyword>U</keyword> </context> <context id="elements" style-ref="element"> <keyword>C3D8</keyword> <keyword>F3D8</keyword> <keyword>C3D8R</keyword> <keyword>F3D8R</keyword> <keyword>C3D8I</keyword> <keyword>C3D20</keyword> <keyword>F3D20</keyword> <keyword>C3D20R</keyword> <keyword>F3D20R</keyword> <keyword>C3D20RI</keyword> <keyword>C3D4</keyword> <keyword>F3D4</keyword> <keyword>C3D10</keyword> <keyword>F3D10</keyword> <keyword>C3D6</keyword> <keyword>F3D6</keyword> <keyword>C3D15</keyword> <keyword>F3D15</keyword> <keyword>S3</keyword> <keyword>S4R</keyword> <keyword>S6</keyword> <keyword>S8</keyword> <keyword>S8R</keyword> <keyword>CPS3</keyword> <keyword>CPS4</keyword> <keyword>CPS4R</keyword> <keyword>CPS6</keyword> <keyword>CPS8</keyword> <keyword>CPS8R</keyword> <keyword>CPE3</keyword> <keyword>CPE4</keyword> <keyword>CPE4R</keyword> <keyword>CPE6</keyword> <keyword>CPE8</keyword> <keyword>CPE8R</keyword> <keyword>CAX3</keyword> <keyword>CAX4</keyword> <keyword>CAX4R</keyword> <keyword>CAX6</keyword> <keyword>CAX8</keyword> <keyword>CAX8R</keyword> <keyword>B31</keyword> <keyword>B31R</keyword> <keyword>B32</keyword> <keyword>B32R</keyword> <keyword>D</keyword> <keyword>GAPUNI</keyword> <keyword>DASHPOTA</keyword> <keyword>SPRINGA</keyword> <keyword>DCOUP3D</keyword> </context> <context id="cards" style-ref="card"> <prefix>\*</prefix> <keyword>AMPLITUDE</keyword> <keyword>BEAM SECTION</keyword> <keyword>BOUNDARY</keyword> <keyword>BUCKLE</keyword> <keyword>CFLUX</keyword> <keyword>CHANGE FRICTION</keyword> <keyword>CHANGE MATERIAL</keyword> <keyword>CHANGE PLASTIC</keyword> <keyword>CLOAD</keyword> <keyword>COMPLEX FREQUENCY</keyword> <keyword>CONDUCTIVITY</keyword> <keyword>CONTACT FILE</keyword> <keyword>CONTACT OUTPUT</keyword> <keyword>CONTACT PAIR</keyword> <keyword>CONTACT PRINT</keyword> <keyword>CONTROLS</keyword> <keyword>COUPLED TEMPERATURE-DISPLACEMENT</keyword> <keyword>CREEP</keyword> <keyword>CYCLIC HARDENING</keyword> <keyword>CYCLIC SYMMETRY MODEL</keyword> <keyword>DASHPOT</keyword> <keyword>DEFORMATION PLASTICITY</keyword> <keyword>DENSITY</keyword> <keyword>DEPVAR</keyword> <keyword>DFLUX</keyword> <keyword>DISTRIBUTING COUPLING</keyword> <keyword>DLOAD</keyword> <keyword>DSLOAD</keyword> <keyword>DYNAMIC</keyword> <keyword>ELASTIC</keyword> <keyword>ELEMENT</keyword> <keyword>ELEMENT OUTPUT</keyword> <keyword>EL FILE</keyword> <keyword>EL PRINT</keyword> <keyword>ELSET</keyword> <keyword>END STEP</keyword> <keyword>EQUATION</keyword> <keyword>EXPANSION</keyword> <keyword>FACE PRINT</keyword> <keyword>FILM</keyword> <keyword>FLUID CONSTANTS</keyword> <keyword>FLUID SECTION</keyword> <keyword>FREQUENCY</keyword> <keyword>GAP</keyword> <keyword>GAP CONDUCTANCE</keyword> <keyword>HEADING</keyword> <keyword>HEAT TRANSFER</keyword> <keyword>HYPERELASTIC</keyword> <keyword>HYPERFOAM</keyword> <keyword>INCLUDE</keyword> <keyword>INITIAL CONDITIONS</keyword> <keyword>MATERIAL</keyword> <keyword>MODAL DAMPING</keyword> <keyword>MODAL DYNAMIC</keyword> <keyword>MODAL CHANGE</keyword> <keyword>MPC</keyword> <keyword>NO ANALYSIS</keyword> <keyword>NODAL THICKNESS</keyword> <keyword>NODE FILE</keyword> <keyword>NODE OUTPUT</keyword> <keyword>NODE PRINT</keyword> <keyword>NODE</keyword> <keyword>NORMAL PRINT</keyword> <keyword>NORMAL</keyword> <keyword>NSET</keyword> <keyword>ORIENTATION</keyword> <keyword>PHYSICAL CONSTANTS</keyword> <keyword>PLASTIC</keyword> <keyword>PRE-TENSION SECTION</keyword> <keyword>RADIATE</keyword> <keyword>RESTART</keyword> <keyword>RIGID BODY</keyword> <keyword>SELECT SECTION</keyword> <keyword>SOLID SECTION</keyword> <keyword>SPECIFIC GAS CONSTANT</keyword> <keyword>SPECIFIC HEAT</keyword> <keyword>SPRING</keyword> <keyword>STATIC</keyword> <keyword>STEADY STATE DYNAMICS</keyword> <keyword>STEP</keyword> <keyword>SUBMODEL</keyword> <keyword>SURFACE</keyword> <keyword>SURFACE BEHAVIOR</keyword> <keyword>SURFACE INTERACTION</keyword> <keyword>TEMPERATURE</keyword> <keyword>TIE</keyword> <keyword>TIME POINTS</keyword> <keyword>TRANSFORM</keyword> <keyword>UNCOUPLED TEMPERATURE-DISPLACEMENT</keyword> <keyword>USER MATERIAL</keyword> <keyword>VALUES AT INFINITY</keyword> <keyword>VIEWFACTOR</keyword> <keyword>VISCO</keyword> </context> <!--Main context--> <context id="ccx"> <include> <context ref="gtk-doc:inline-docs-section"></context> <context ref="comment"></context> <context ref="float"></context> <context ref="decimal"></context> <context ref="keywords"></context> <context ref="cards"></context> <context ref="elements"></context> </include> </context> </definitions> </language>
- Open inp file and select gedit program to open.
- If you dont like or face problem then revert back the inp files to plain text as:
$ gvfs-set-attribute [path_to_your_inp_file] metadata::gedit-language ''
Syntax Highlight Files can be downloaded from below link:
Download Syntax Highlight Files.


