From cc83b7cb41b90f3bf2dbffe6bc99d332b5eaec8d Mon Sep 17 00:00:00 2001 From: Maxim Likhachev Date: Wed, 3 Aug 2016 11:50:40 +0500 Subject: [PATCH] =?UTF-8?q?vim:=20=D1=84=D0=B0=D0=B9=D0=BB=20=D1=81=D0=B8?= =?UTF-8?q?=D0=BD=D1=82=D0=B0=D0=BA=D1=81=D0=B8=D1=81=D0=B0=20octave?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- etc/soft/vim/vim/syntax/octave.vim | 369 +++++++++++++++++++++++++++++++++++++ 1 file changed, 369 insertions(+) create mode 100644 etc/soft/vim/vim/syntax/octave.vim diff --git a/etc/soft/vim/vim/syntax/octave.vim b/etc/soft/vim/vim/syntax/octave.vim new file mode 100644 index 0000000..17a0817 --- /dev/null +++ b/etc/soft/vim/vim/syntax/octave.vim @@ -0,0 +1,369 @@ +" Vim syntax file +" Language: Octave +" Maintainer: Francisco Castro +" Original maintainer: Preben 'Peppe' Guldberg +" Original author: Mario Eusebio +" Last Change: 5 Jul 2007 + +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +function! s:CheckForFunctions() + let l:i = 1 + let l:prev = '' + while l:i <= line('$') + let l:line = l:prev . getline(l:i) + let l:i = l:i + 1 + if match(l:line, "\\(^\\|[^\\\\]\\)\\\\$") >= 0 + let l:prev = l:line[:-2] + continue + else + let l:prev = '' + endif + if match(l:line, 'function') == 0 + let l:line = substitute(l:line, "function *\\(.*= *\\)\\?", "", "") + let l:nfun = substitute(l:line, "\\([A-Za-z0-9_]\\+\\).*", "\\1", "") + execute "syn keyword octaveFunction" l:nfun + endif + endwhile +endfunction + +call s:CheckForFunctions() + +syn keyword octaveBeginKeywords for function if switch try unwind_protect while +syn keyword octaveElseKeywords case catch else elseif otherwise unwind_protect_cleanup + +syn keyword octaveEndKeywords end endfor endfunction endif endswitch +syn keyword octaveEndKeywords end_try_catch end_unwind_protect endwhile + +syn keyword octaveReserved all_va_args break continue global gplot gsplot +syn keyword octaveReserved replot return persistent + +syn keyword octaveCommands __end__ diary isvarname set casesen echo load show +syn keyword octaveCommands cd edit_history ls type chdir format +syn keyword octaveCommands mark_as_command unmark_command clear gset +syn keyword octaveCommands mislocked which dbclear gshow mlock who dbstatus +syn keyword octaveCommands help more whos dbstop history munlock dbtype hold +syn keyword octaveCommands run_history dbwhere iskeyword save + +syn keyword octaveVariables EDITOR EXEC_PATH F_DUPFD F_GETFD F_GETFL +syn keyword octaveVariables F_SETFD F_SETFL I IMAGEPATH INFO_FILE +syn keyword octaveVariables INFO_PROGRAM Inf J LOADPATH NaN +syn keyword octaveVariables OCTAVE_VERSION O_APPEND O_CREAT O_EXCL +syn keyword octaveVariables O_NONBLOCK O_RDONLY O_RDWR O_TRUNC O_WRONLY +syn keyword octaveVariables PAGER PS1 PS2 PS4 PWD SEEK_CUR SEEK_END +syn keyword octaveVariables SEEK_SET __F_DUPFD__ __F_GETFD__ __F_GETFL__ +syn keyword octaveVariables __F_SETFD__ __F_SETFL__ __I__ __Inf__ __J__ +syn keyword octaveVariables __NaN__ __OCTAVE_VERSION__ __O_APPEND__ +syn keyword octaveVariables __O_CREAT__ __O_EXCL__ __O_NONBLOCK__ +syn keyword octaveVariables __O_RDONLY__ __O_RDWR__ __O_TRUNC__ +syn keyword octaveVariables __O_WRONLY__ __PWD__ __SEEK_CUR__ +syn keyword octaveVariables __SEEK_END__ __SEEK_SET__ __argv__ __e__ +syn keyword octaveVariables __eps__ __error_text__ __i__ __inf__ __j__ +syn keyword octaveVariables __nan__ __pi__ __program_invocation_name__ +syn keyword octaveVariables __program_name__ __realmax__ __realmin__ +syn keyword octaveVariables __stderr__ __stdin__ __stdout__ ans argv +syn keyword octaveVariables automatic_replot beep_on_error +syn keyword octaveVariables completion_append_char default_return_value +syn keyword octaveVariables default_save_format define_all_return_values +syn keyword octaveVariables do_fortran_indexing e echo_executing_commands +syn keyword octaveVariables empty_list_elements_ok eps error_text +syn keyword octaveVariables gnuplot_binary gnuplot_has_multiplot +syn keyword octaveVariables history_file history_size +syn keyword octaveVariables ignore_function_time_stamp +syn keyword octaveVariables implicit_str_to_num_ok inf nan nargin +syn keyword octaveVariables ok_to_lose_imaginary_part +syn keyword octaveVariables output_max_field_width output_precision +syn keyword octaveVariables page_output_immediately page_screen_output pi +syn keyword octaveVariables prefer_column_vectors +syn keyword octaveVariables prefer_zero_one_indexing print_answer_id_name +syn keyword octaveVariables print_empty_dimensions +syn keyword octaveVariables program_invocation_name program_name +syn keyword octaveVariables propagate_empty_matrices realmax realmin +syn keyword octaveVariables resize_on_range_error +syn keyword octaveVariables return_last_computed_value save_precision +syn keyword octaveVariables saving_history silent_functions +syn keyword octaveVariables split_long_rows stderr stdin stdout +syn keyword octaveVariables string_fill_char struct_levels_to_print +syn keyword octaveVariables suppress_verbose_help_message +syn keyword octaveVariables treat_neg_dim_as_zero +syn keyword octaveVariables warn_assign_as_truth_value +syn keyword octaveVariables warn_comma_in_global_decl warn_divide_by_zero +syn keyword octaveVariables warn_function_name_clash +syn keyword octaveVariables warn_missing_semicolon +syn keyword octaveVariables whitespace_in_literal_matrix + +syn keyword octaveTodo contained TODO + + +" If you do not want these operators lit, uncommment them and the "hi link" below +syn match octaveLogicalOperator "[&|~!]" +syn match octaveArithmeticOperator "[-+]" +syn match octaveArithmeticOperator "\.\=[*/\\^]" +syn match octaveRelationalOperator "[=!~]=" +syn match octaveRelationalOperator "[<>]=\=" + +syn match octaveLineContinuation "\.\{3}" + +syn match octaveLineContinuation "\\[ \t]*[#%]"me=e-1 +syn match octaveLineContinuation "\\[ \t]*$" + +"syn match octaveIdentifier "\<[a-zA-Z_][a-zA-Z0-9_]*\>" + + +" String +syn region octaveString start=+'+ end=+'+ oneline +syn region octaveString start=+"+ end=+"+ oneline + +" If you don't like tabs +syn match octaveTab "\t" + +" Standard numbers +syn match octaveNumber "\<\d\+[ij]\=\>" +" floating point number, with dot, optional exponent +syn match octaveFloat "\<\d\+\(\.\d*\)\=\([edED][-+]\=\d\+\)\=[ij]\=\>" +" floating point number, starting with a dot, optional exponent +syn match octaveFloat "\.\d\+\([edED][-+]\=\d\+\)\=[ij]\=\>" + +" Transpose character and delimiters: Either use just [...] or (...) aswell +"syn match octaveDelimiter "[][]" +syn match octaveDelimiter "[][()]" +syn match octaveTransposeOperator "[])a-zA-Z0-9.]'"lc=1 + +syn match octaveSemicolon ";" + +syn match octaveComment "[%#].*$" contains=octaveTodo,octaveTab + +syn keyword octaveFunction ERRNO iscntrl __end__ iscomplex __error_text__ +syn keyword octaveFunction isdigit __print_symbol_info__ isempty +syn keyword octaveFunction __print_symtab_info__ isfield __token_count__ +syn keyword octaveFunction isfinite abs isglobal acos isgraph acosh ishold +syn keyword octaveFunction all isieee angle isinf any iskeyword append islist +syn keyword octaveFunction arg islogical argnames islower asin ismatrix asinh +syn keyword octaveFunction isna assignin isnan atan isnumeric atan2 isprint +syn keyword octaveFunction atanh ispunct atexit isreal bitand isspace bitmax +syn keyword octaveFunction isstream bitor isstreamoff bitshift isstruct +syn keyword octaveFunction bitxor isupper casesen isvarname cat isxdigit cd +syn keyword octaveFunction kbhit ceil keyboard cell kill cell2struct lasterr +syn keyword octaveFunction cellstr lastwarn char length chdir lgamma class +syn keyword octaveFunction link clc linspace clear list clearplot clg +syn keyword octaveFunction log closeplot log10 completion_matches ls conj +syn keyword octaveFunction lstat cos mark_as_command cosh mislocked cumprod +syn keyword octaveFunction mkdir cumsum mkfifo dbclear mkstemp dbstatus mlock +syn keyword octaveFunction dbstop more dbtype munlock dbwhere nargin diag +syn keyword octaveFunction nargout diary native_float_format disp ndims +syn keyword octaveFunction do_string_escapes nth document numel double +syn keyword octaveFunction octave_config_info dup2 octave_tmp_file_name echo +syn keyword octaveFunction ones edit_history pause erf pclose erfc permute +syn keyword octaveFunction error pipe error_text popen eval printf evalin +syn keyword octaveFunction prod exec purge_tmp_files exist putenv exit puts +syn keyword octaveFunction exp pwd eye quit fclose read_readline_init_file +syn keyword octaveFunction fcntl readdir fdisp readlink feof real ferror +syn keyword octaveFunction rehash feval rename fflush reshape fgetl reverse +syn keyword octaveFunction fgets rmdir fieldnames rmfield file_in_loadpath +syn keyword octaveFunction round file_in_path run_history +syn keyword octaveFunction find_first_of_in_loadpath save finite scanf fix +syn keyword octaveFunction set floor shell_cmd fmod show fnmatch sign fopen +syn keyword octaveFunction sin fork sinh format size formula sizeof fprintf +syn keyword octaveFunction sleep fputs source fread splice freport sprintf +syn keyword octaveFunction frewind sqrt fscanf squeeze fseek sscanf ftell +syn keyword octaveFunction stat func2str str2func functions streamoff fwrite +syn keyword octaveFunction struct gamma struct2cell gammaln sum getegid sumsq +syn keyword octaveFunction getenv symlink geteuid system getgid tan getpgrp +syn keyword octaveFunction tanh getpid tilde_expand getppid tmpfile getuid +syn keyword octaveFunction tmpnam glob toascii graw tolower gset toupper +syn keyword octaveFunction gshow type help typeinfo history uint16 hold +syn keyword octaveFunction uint32 home uint64 horzcat uint8 imag umask inline +syn keyword octaveFunction undo_string_escapes input unlink input_event_hook +syn keyword octaveFunction unmark_command int16 usage int32 usleep int64 +syn keyword octaveFunction va_arg int8 va_start intmax vectorize intmin +syn keyword octaveFunction vertcat ipermute vr_val is_nan_or_na waitpid +syn keyword octaveFunction isalnum warning isalpha warranty isascii which +syn keyword octaveFunction isbool who iscell whos iscellstr zeros ischar + +syn keyword octaveFunction abcddim __abcddims__ acot acoth acsc acsch +syn keyword octaveFunction analdemo anova arch_fit arch_rnd arch_test are +syn keyword octaveFunction arma_rnd asctime asec asech autocor autocov +syn keyword octaveFunction autoreg_matrix axis axis2dlim __axis_label__ bar +syn keyword octaveFunction bartlett bartlett_test base2dec bddemo beep bessel +syn keyword octaveFunction beta beta_cdf betai beta_inv beta_pdf beta_rnd +syn keyword octaveFunction bin2dec bincoeff binomial_cdf binomial_inv +syn keyword octaveFunction binomial_pdf binomial_rnd bitcmp bitget bitset +syn keyword octaveFunction blackman blanks bode bode_bounds __bodquist__ +syn keyword octaveFunction bottom_title bug_report buildssic c2d cart2pol +syn keyword octaveFunction cart2sph cauchy_cdf cauchy_inv cauchy_pdf +syn keyword octaveFunction cauchy_rnd cellidx center chisquare_cdf +syn keyword octaveFunction chisquare_inv chisquare_pdf chisquare_rnd +syn keyword octaveFunction chisquare_test_homogeneity +syn keyword octaveFunction chisquare_test_independence circshift clock +syn keyword octaveFunction cloglog close coeff colormap columns com2str +syn keyword octaveFunction common_size commutation_matrix compan complement +syn keyword octaveFunction computer cond contour controldemo conv cor +syn keyword octaveFunction corrcoef cor_test cot coth cov cputime create_set +syn keyword octaveFunction cross csc csch ctime ctrb cut d2c damp dare date +syn keyword octaveFunction dcgain deal deblank dec2base dec2bin dec2hex +syn keyword octaveFunction deconv delete DEMOcontrol demoquat detrend dezero +syn keyword octaveFunction dgkfdemo dgram diff diffpara dir discrete_cdf +syn keyword octaveFunction discrete_inv discrete_pdf discrete_rnd dkalman +syn keyword octaveFunction dlqe dlqg dlqr dlyap dmr2d dmult dot dre +syn keyword octaveFunction dump_prefs duplication_matrix durbinlevinson +syn keyword octaveFunction empirical_cdf empirical_inv empirical_pdf +syn keyword octaveFunction empirical_rnd erfinv __errcomm__ errorbar +syn keyword octaveFunction __errplot__ etime exponential_cdf exponential_inv +syn keyword octaveFunction exponential_pdf exponential_rnd f_cdf fftconv +syn keyword octaveFunction fftfilt fftshift figure fileparts findstr f_inv +syn keyword octaveFunction fir2sys flipdim fliplr flipud flops f_pdf +syn keyword octaveFunction fractdiff frdemo freqchkw __freqresp__ freqz +syn keyword octaveFunction freqz_plot f_rnd f_test_regression fullfile fv fvl +syn keyword octaveFunction gamma_cdf gammai gamma_inv gamma_pdf gamma_rnd +syn keyword octaveFunction geometric_cdf geometric_inv geometric_pdf +syn keyword octaveFunction geometric_rnd get_fmt gls gram gray gray2ind grid +syn keyword octaveFunction h2norm h2syn hamming hankel hanning hex2dec hilb +syn keyword octaveFunction hinf_ctr hinfnorm hinfsyn hinfsyn_chk hinfsyn_ric +syn keyword octaveFunction hist hotelling_test hotelling_test_2 housh hsv2rgb +syn keyword octaveFunction hurst hypergeometric_cdf hypergeometric_inv +syn keyword octaveFunction hypergeometric_pdf hypergeometric_rnd image +syn keyword octaveFunction imagesc impulse imshow ind2gray ind2rgb ind2sub +syn keyword octaveFunction index int2str intersection invhilb iqr irr isa +syn keyword octaveFunction is_abcd is_bool is_complex is_controllable +syn keyword octaveFunction isdefinite is_detectable is_dgkf is_digital +syn keyword octaveFunction is_duplicate_entry is_global is_leap_year isletter +syn keyword octaveFunction is_list is_matrix is_observable ispc is_sample +syn keyword octaveFunction is_scalar isscalar is_signal_list is_siso +syn keyword octaveFunction is_square issquare is_stabilizable is_stable isstr +syn keyword octaveFunction is_stream is_struct is_symmetric issymmetric +syn keyword octaveFunction isunix is_vector isvector jet707 kendall +syn keyword octaveFunction kolmogorov_smirnov_cdf kolmogorov_smirnov_test +syn keyword octaveFunction kolmogorov_smirnov_test_2 kruskal_wallis_test +syn keyword octaveFunction krylov krylovb kurtosis laplace_cdf laplace_inv +syn keyword octaveFunction laplace_pdf laplace_rnd lcm lin2mu listidx +syn keyword octaveFunction list_primes loadaudio loadimage log2 logical +syn keyword octaveFunction logistic_cdf logistic_inv logistic_pdf +syn keyword octaveFunction logistic_regression_derivatives +syn keyword octaveFunction logistic_regression_likelihood logistic_rnd logit +syn keyword octaveFunction loglog loglogerr logm lognormal_cdf lognormal_inv +syn keyword octaveFunction lognormal_pdf lognormal_rnd logspace lower lqe lqg +syn keyword octaveFunction lqr lsim ltifr lyap mahalanobis manova +syn keyword octaveFunction mcnemar_test mean meansq median menu mesh meshdom +syn keyword octaveFunction meshdom meshgrid minfo mod moddemo moment mplot +syn keyword octaveFunction mu2lin multiplot nargchk nextpow2 nichols norm +syn keyword octaveFunction normal_cdf normal_inv normal_pdf normal_rnd not +syn keyword octaveFunction nper npv ntsc2rgb null num2str nyquist obsv ocean +syn keyword octaveFunction ols oneplot ord2 orth __outlist__ pack packsys +syn keyword octaveFunction parallel pascal_cdf pascal_inv pascal_pdf +syn keyword octaveFunction pascal_rnd path periodogram perror place playaudio +syn keyword octaveFunction plot plot_border __plr__ __plr1__ __plr2__ __plt__ +syn keyword octaveFunction __plt1__ __plt2__ __plt2mm__ __plt2mv__ __plt2ss__ +syn keyword octaveFunction __plt2vm__ __plt2vv__ __pltopt__ __pltopt1__ pmt +syn keyword octaveFunction poisson_cdf poisson_inv poisson_pdf poisson_rnd +syn keyword octaveFunction pol2cart polar poly polyder polyderiv polyfit +syn keyword octaveFunction polyinteg polyout polyreduce polyval polyvalm +syn keyword octaveFunction popen2 postpad pow2 ppplot prepad probit prompt +syn keyword octaveFunction prop_test_2 pv pvl pzmap qconj qcoordinate_plot +syn keyword octaveFunction qderivmat qderivmat qinv qmult qqplot qtrans +syn keyword octaveFunction qtransv qtransvmat quaternion qzhess qzval +syn keyword octaveFunction randperm range rank ranks rate record rectangle_lw +syn keyword octaveFunction rectangle_sw rem repmat residue rgb2hsv rgb2ind +syn keyword octaveFunction rgb2ntsc rindex rldemo rlocus roots rot90 rotdim +syn keyword octaveFunction rotg rows run_count run_test saveaudio saveimage +syn keyword octaveFunction sec sech semilogx semilogxerr semilogy semilogyerr +syn keyword octaveFunction series setaudio setstr shg shift shiftdim +syn keyword octaveFunction sign_test sinc sinetone sinewave skewness sombrero +syn keyword octaveFunction sortcom spearman spectral_adf spectral_xdf spencer +syn keyword octaveFunction sph2cart split ss ss2sys ss2tf ss2zp stairs starp +syn keyword octaveFunction statistics std stdnormal_cdf stdnormal_inv +syn keyword octaveFunction stdnormal_pdf stdnormal_rnd step __stepimp__ stft +syn keyword octaveFunction str2mat str2num strappend strcat strcmp strerror +syn keyword octaveFunction strjust strrep struct_contains struct_elements +syn keyword octaveFunction studentize sub2ind subplot substr subwindow swap +syn keyword octaveFunction swapcols swaprows sylvester_matrix synthesis +syn keyword octaveFunction sys2fir sys2ss sys2tf sys2zp sysadd sysappend +syn keyword octaveFunction syschnames __syschnamesl__ syschtsam __sysconcat__ +syn keyword octaveFunction sysconnect syscont __syscont_disc__ +syn keyword octaveFunction __sysdefioname__ __sysdefstname__ sysdimensions +syn keyword octaveFunction sysdisc sysdup sysgetsignals sysgettsam sysgettype +syn keyword octaveFunction sysgroup __sysgroupn__ sysidx sysmin sysmult +syn keyword octaveFunction sysout sysprune sysreorder sysrepdemo sysscale +syn keyword octaveFunction syssetsignals syssub sysupdate table t_cdf tempdir +syn keyword octaveFunction tempname texas_lotto tf tf2ss tf2sys __tf2sysl__ +syn keyword octaveFunction tf2zp __tfl__ tfout theta tic t_inv title toc +syn keyword octaveFunction toeplitz top_title t_pdf trace triangle_lw +syn keyword octaveFunction triangle_sw tril triu t_rnd t_test t_test_2 +syn keyword octaveFunction t_test_regression tzero tzero2 ugain uniform_cdf +syn keyword octaveFunction uniform_inv uniform_pdf uniform_rnd union unix +syn keyword octaveFunction unpacksys unwrap upper u_test values vander var +syn keyword octaveFunction var_test vec vech version vol weibull_cdf +syn keyword octaveFunction weibull_inv weibull_pdf weibull_rnd welch_test +syn keyword octaveFunction wgt1o wiener_rnd wilcoxon_test xlabel xor ylabel +syn keyword octaveFunction yulewalker zgfmul zgfslv zginit __zgpbal__ +syn keyword octaveFunction zgreduce zgrownorm zgscal zgsgiv zgshsr zlabel zp +syn keyword octaveFunction zp2ss __zp2ssg2__ zp2sys zp2tf zpout z_test +syn keyword octaveFunction z_test_2 + +syn keyword octaveImplicit abs cos is_nan_or_na isnan sign acos cosh isalnum +syn keyword octaveImplicit isprint sin acosh erf isalpha ispunct sinh angle +syn keyword octaveImplicit erfc isascii isspace sqrt arg exp iscntrl isupper +syn keyword octaveImplicit tan asin finite isdigit isxdigit tanh asinh fix +syn keyword octaveImplicit isfinite lgamma toascii atan floor isgraph log +syn keyword octaveImplicit tolower atanh gamma isinf log10 toupper ceil +syn keyword octaveImplicit gammaln islower real conj imag isna round + +syn match octaveError "-\=\<\d\+\.\d\+\.[^*/\\^]" +syn match octaveError "-\=\<\d\+\.\d\+[eEdD][-+]\=\d\+\.\([^*/\\^]\)" + +" Define the default highlighting. +" For version 5.7 and earlier: only when not done already +" For version 5.8 and later: only when an item doesn't have highlighting yet +if version >= 508 || !exists("did_octave_syntax_inits") + if version < 508 + let did_octave_syntax_inits = 1 + command -nargs=+ HiLink hi link + else + command -nargs=+ HiLink hi def link + endif + + HiLink octaveBeginKeywords Conditional + HiLink octaveElseKeywords Conditional + HiLink octaveEndKeywords Conditional + HiLink octaveReserved Conditional + + HiLink octaveCommands Statement + + HiLink octaveTransposeOperator octaveOperator +" HiLink octaveOperator Operator + HiLink octaveLineContinuation Special + HiLink octaveLabel Label + HiLink octaveConditional Conditional + HiLink octaveRepeat Repeat + HiLink octaveTodo Todo + HiLink octaveString String + HiLink octaveDelimiter Identifier + HiLink octaveTransposeOther Identifier + HiLink octaveNumber Number + HiLink octaveFloat Float + HiLink octaveFunction Function + HiLink octaveError Error + HiLink octaveImplicit octaveStatement + HiLink octaveStatement Statement + HiLink octaveSemicolon SpecialChar + HiLink octaveComment Comment + + HiLink octaveArithmeticOperator octaveOperator + HiLink octaveRelationalOperator octaveOperator + HiLink octaveLogicalOperator octaveOperator + +"optional highlighting + "HiLink octaveIdentifier Identifier + "HiLink octaveTab Error + + delcommand HiLink +endif + +let b:current_syntax = "octave" + +"EOF vim: ts=8 noet tw=100 sw=8 sts=0