MBDyn Filetype

MBDyn is a free general purpose Multibody Dynamics analysis software, released under GNU's GPL 2.1

Add the following lines to ~/.config/geany/filetype_extensions.conf under the section [Extensions]

[Extensions]
MBDyn=*.mbd;*.ref;*.nod;*.elm;*.set;

Save the configuration file below in your Geany filetype definition files config directory, e.g. ~/.config/geany/filedefs/filetypes.MBDyn.conf

NB: Note that this filetype definition file is in development, meaning it can be used but needs improvement.

filetypes.MBDyn.conf
# For complete documentation of this file, please see Geany's main documentation
# Using the Perl lexer seems to be the best option to have both # single line and /* multiline comment work, multiline comments however still suffer when / ar present within them
[styling]
# Edit these in the colorscheme .conf file instead
default=default
error=error
commentline=comment_line
number=number_1
word=keyword_1
string=string_1
character=character
preprocessor=preprocessor
operator=operator
identifier=identifier
scalar=identifier_1
pod=comment_doc
regex=regex
array=identifier_2
hash=identifier_3
symboltable=identifier_4
backticks=backticks
pod_verbatim=comment_doc_keyword
reg_subst=regex
datasection=value
here_delim=here_doc
here_q=here_doc
here_qq=here_doc
here_qx=here_doc
string_q=string_2
string_qq=string_2
string_qx=string_2
string_qr=string_2
string_qw=string_2
variable_indexer=default
# *_var mappings may need checking
string_var=identifier_1
regex_var=identifier_2
regsubst_var=identifier_2
backticks_var=identifier_2
here_qq_var=identifier_2
here_qx_var=identifier_2
string_qq_var=identifier_2
string_qx_var=identifier_2
string_qr_var=identifier_2
# translation: tr{}{} y{}{}
xlat=string_2
# not used
punctuation=default
# obsolete: replaced by qq, qx, qr, qw
longquote=here_doc
sub_prototype=here_doc
format_ident=string_2
format=string_2
 
[keywords]
primary=structural reference asbtract node body drive caller driver diag null eye string genel matrix amplitude gravity uniform single angular velocity acceleration axial rotation revolute hinge cardano brake pin clamp coincidence deformable displacement joint distance gimbal in line plane kinematic linear velocity acceleration plane prismatic rod total bezier spherical viscous abstract algebraic array state space SISO MIMO a b c differential air properties const file data control iterations max output meter steps forever netcdf elements  position component absolute integer ramp include force results default initial value rigid loadable aerodynamic genels drivers global dynamic variable step interpolation pad zeroes no mult orientation element user defined induced jacobian c81 real cosine driven constraint active inactive condense inertial inertia beam3 accelerations yes proportional damping origin alpha first angle units degrees problem all  module load cyclocopter delay omegacut kappa timestep polimi inflow time naive colamd nonlinear solver newton raphson modified time method tolerance none derivatives assembly skip hydraulic beams hydraulic static beam  viscoelastic generic inline super compressible incompressible thermal exponential orifice flow valve density fluid uncompressible final same elastic follower half sine dof ms offset direct parameter couple bind with offset coefficient rotor eta correction crank nicholson couple isotropic spring support bodies joints nodes bodies forces sync notext sometext print equation description residual umfpack threads disable integrator scalar filter balance canonical form observable gain function piecewise custom other mt list modal aircraft instruments scale variant ring tire min change strategy lapack klu superlu map pivot factor drop euler123 euler313 euler321 vector test norm modify implicit euler bdf order third hope minmax keep honor requests double cc moment
 
[lexer_properties]
styling.within.preprocessor=0
 
[settings]
# default extension used when saving files
extension=mbd
lexer_filetype=Perl
fold.perl.at.else=0
fold.perl.comment.explicit=0
fold=0
 
# the following characters are these which a "word" can contains, see documentation
#wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
 
# single comments, like # in this file
comment_single=#
# multiline comments
comment_open=/*
comment_close==*/
 
# set to false if a comment character/string should start at column 0 of a line, true uses any
# indentation of the line, e.g. setting to true causes the following on pressing CTRL+d
	#command_example();
# setting to false would generate this
#	command_example();
# This setting works only for single line comments
comment_use_indent=false
 
# context action command (please see Geany's main documentation for details)
context_action_cmd=
 
[indentation]
#width=4
# 0 is spaces, 1 is tabs, 2 is tab & spaces
#type=1
Print/export