# HG changeset patch # User Jacob Dawid # Date 1315638938 -7200 # Node ID ddc3c20d0e2fc22010ba3b86daeb6d5014a9d5b6 # Parent eb03d0b39c18d8d3c513bf7324c17cac55d3de11 Implemented highlighting of octave keywords in terminal. diff -r eb03d0b39c18 -r ddc3c20d0e2f gui/octave-gui.pro --- a/gui/octave-gui.pro Sat Sep 10 08:11:44 2011 +0200 +++ b/gui/octave-gui.pro Sat Sep 10 09:15:38 2011 +0200 @@ -79,7 +79,8 @@ src/backend/ReadlineAdapter.cpp \ src/terminal/KPty.cpp \ src/terminal/KPtyDevice.cpp \ - src/TerminalView.cpp + src/TerminalView.cpp \ + src/TerminalHighlighter.cpp HEADERS += \ src/lexer/lexeroctavegui.h \ @@ -104,7 +105,8 @@ src/backend/ReadlineAdapter.h \ src/terminal/KPtyDevice.h \ src/terminal/KPty.h \ - src/TerminalView.h + src/TerminalView.h \ + src/TerminalHighlighter.h FORMS += \ src/SettingsDialog.ui diff -r eb03d0b39c18 -r ddc3c20d0e2f gui/src/ResourceManager.cpp --- a/gui/src/ResourceManager.cpp Sat Sep 10 08:11:44 2011 +0200 +++ b/gui/src/ResourceManager.cpp Sat Sep 10 09:15:38 2011 +0200 @@ -110,3 +110,1563 @@ m_icons [ResourceManager::Chat] = QIcon ("../media/chat.png"); m_icons [ResourceManager::ChatNewMessage] = QIcon ("../media/jabber_protocol.png"); } + +const char* +ResourceManager::octaveKeywords () +{ + return + ".nargin. " + "EDITOR " + "EXEC_PATH " + "F_DUPFD " + "F_GETFD " + "F_GETFL " + "F_SETFD " + "F_SETFL " + "I " + "IMAGE_PATH " + "Inf " + "J " + "NA " + "NaN " + "OCTAVE_HOME " + "OCTAVE_VERSION " + "O_APPEND " + "O_ASYNC " + "O_CREAT " + "O_EXCL " + "O_NONBLOCK " + "O_RDONLY " + "O_RDWR " + "O_SYNC " + "O_TRUNC " + "O_WRONLY " + "PAGER " + "PAGER_FLAGS " + "PS1 " + "PS2 " + "PS4 " + "P_tmpdir " + "SEEK_CUR " + "SEEK_END " + "SEEK_SET " + "SIG " + "S_ISBLK " + "S_ISCHR " + "S_ISDIR " + "S_ISFIFO " + "S_ISLNK " + "S_ISREG " + "S_ISSOCK " + "WCONTINUE " + "WCOREDUMP " + "WEXITSTATUS " + "WIFCONTINUED " + "WIFEXITED " + "WIFSIGNALED " + "WIFSTOPPED " + "WNOHANG " + "WSTOPSIG " + "WTERMSIG " + "WUNTRACED " + "__accumarray_max__ " + "__accumarray_min__ " + "__accumarray_sum__ " + "__accumdim_sum__ " + "__all_opts__ " + "__builtins__ " + "__calc_dimensions__ " + "__contourc__ " + "__current_scope__ " + "__delaunayn__ " + "__dispatch__ " + "__display_tokens__ " + "__dsearchn__ " + "__dump_symtab_info__ " + "__end__ " + "__error_text__ " + "__finish__ " + "__fltk_ginput__ " + "__fltk_print__ " + "__fltk_uigetfile__ " + "__ftp__ " + "__ftp_ascii__ " + "__ftp_binary__ " + "__ftp_close__ " + "__ftp_cwd__ " + "__ftp_delete__ " + "__ftp_dir__ " + "__ftp_mget__ " + "__ftp_mkdir__ " + "__ftp_mode__ " + "__ftp_mput__ " + "__ftp_pwd__ " + "__ftp_rename__ " + "__ftp_rmdir__ " + "__get__ " + "__glpk__ " + "__gnuplot_drawnow__ " + "__gnuplot_get_var__ " + "__gnuplot_ginput__ " + "__gnuplot_has_feature__ " + "__gnuplot_open_stream__ " + "__gnuplot_print__ " + "__gnuplot_version__ " + "__go_axes__ " + "__go_axes_init__ " + "__go_close_all__ " + "__go_delete__ " + "__go_draw_axes__ " + "__go_draw_figure__ " + "__go_execute_callback__ " + "__go_figure__ " + "__go_figure_handles__ " + "__go_handles__ " + "__go_hggroup__ " + "__go_image__ " + "__go_line__ " + "__go_patch__ " + "__go_surface__ " + "__go_text__ " + "__go_uimenu__ " + "__gud_mode__ " + "__image_pixel_size__ " + "__init_fltk__ " + "__isa_parent__ " + "__keywords__ " + "__lexer_debug_flag__ " + "__lin_interpn__ " + "__list_functions__ " + "__magick_finfo__ " + "__magick_format_list__ " + "__magick_read__ " + "__magick_write__ " + "__makeinfo__ " + "__marching_cube__ " + "__next_line_color__ " + "__next_line_style__ " + "__operators__ " + "__parent_classes__ " + "__parser_debug_flag__ " + "__pathorig__ " + "__pchip_deriv__ " + "__plt_get_axis_arg__ " + "__print_parse_opts__ " + "__qp__ " + "__request_drawnow__ " + "__sort_rows_idx__ " + "__strip_html_tags__ " + "__token_count__ " + "__varval__ " + "__version_info__ " + "__voronoi__ " + "__which__ " + "abs " + "accumarray " + "accumdim " + "acos " + "acosd " + "acosh " + "acot " + "acotd " + "acoth " + "acsc " + "acscd " + "acsch " + "add_input_event_hook " + "addlistener " + "addpath " + "addproperty " + "addtodate " + "airy " + "all " + "allchild " + "allow_noninteger_range_as_index " + "amd " + "ancestor " + "and " + "angle " + "anova " + "ans " + "any " + "arch_fit " + "arch_rnd " + "arch_test " + "area " + "arg " + "argnames " + "argv " + "arma_rnd " + "arrayfun " + "asctime " + "asec " + "asecd " + "asech " + "asin " + "asind " + "asinh " + "assert " + "assignin " + "atan " + "atan2 " + "atand " + "atanh " + "atexit " + "autocor " + "autocov " + "autoload " + "autoreg_matrix " + "autumn " + "available_graphics_toolkits " + "axes " + "axis " + "balance " + "bar " + "barh " + "bartlett " + "bartlett_test " + "base2dec " + "beep " + "beep_on_error " + "bessel " + "besselh " + "besseli " + "besselj " + "besselk " + "bessely " + "beta " + "betacdf " + "betai " + "betainc " + "betainv " + "betaln " + "betapdf " + "betarnd " + "bicgstab " + "bicubic " + "bin2dec " + "bincoeff " + "binocdf " + "binoinv " + "binopdf " + "binornd " + "bitand " + "bitcmp " + "bitget " + "bitmax " + "bitor " + "bitpack " + "bitset " + "bitshift " + "bitunpack " + "bitxor " + "blackman " + "blanks " + "blkdiag " + "blkmm " + "bone " + "box " + "break " + "brighten " + "bsxfun " + "bug_report " + "builtin " + "bunzip2 " + "bzip2 " + "calendar " + "canonicalize_file_name " + "cart2pol " + "cart2sph " + "case " + "cast " + "cat " + "catch " + "cauchy_cdf " + "cauchy_inv " + "cauchy_pdf " + "cauchy_rnd " + "caxis " + "cbrt " + "ccolamd " + "cd " + "ceil " + "cell " + "cell2mat " + "cell2struct " + "celldisp " + "cellfun " + "cellidx " + "cellindexmat " + "cellslices " + "cellstr " + "center " + "cgs " + "char " + "chdir " + "chi2cdf " + "chi2inv " + "chi2pdf " + "chi2rnd " + "chisquare_test_homogeneity " + "chisquare_test_independence " + "chol " + "chol2inv " + "choldelete " + "cholinsert " + "cholinv " + "cholshift " + "cholupdate " + "chop " + "circshift " + "cla " + "clabel " + "class " + "clc " + "clear " + "clf " + "clg " + "clock " + "cloglog " + "close " + "closereq " + "colamd " + "colloc " + "colon " + "colorbar " + "colormap " + "colperm " + "colstyle " + "columns " + "comet " + "comet3 " + "comma " + "command_line_path " + "common_size " + "commutation_matrix " + "compan " + "compare_versions " + "compass " + "complement " + "completion_append_char " + "completion_matches " + "complex " + "computer " + "cond " + "condest " + "confirm_recursive_rmdir " + "conj " + "continue " + "contour " + "contour3 " + "contourc " + "contourf " + "contrast " + "conv " + "conv2 " + "convhull " + "convhulln " + "convn " + "cool " + "copper " + "copyfile " + "cor " + "cor_test " + "corrcoef " + "cos " + "cosd " + "cosh " + "cot " + "cotd " + "coth " + "cov " + "cplxpair " + "cputime " + "cquad " + "crash_dumps_octave_core " + "create_set " + "cross " + "csc " + "cscd " + "csch " + "cstrcat " + "csvread " + "csvwrite " + "csymamd " + "ctime " + "ctranspose " + "cummax " + "cummin " + "cumprod " + "cumsum " + "cumtrapz " + "curl " + "cut " + "cylinder " + "daspect " + "daspk " + "daspk_options " + "dasrt " + "dasrt_options " + "dassl " + "dassl_options " + "date " + "datenum " + "datestr " + "datetick " + "datevec " + "dbclear " + "dbcont " + "dbdown " + "dblquad " + "dbnext " + "dbquit " + "dbstack " + "dbstatus " + "dbstep " + "dbstop " + "dbtype " + "dbup " + "dbwhere " + "deal " + "deblank " + "debug " + "debug_on_error " + "debug_on_interrupt " + "debug_on_warning " + "dec2base " + "dec2bin " + "dec2hex " + "deconv " + "default_save_options " + "del2 " + "delaunay " + "delaunay3 " + "delaunayn " + "delete " + "dellistener " + "demo " + "det " + "detrend " + "diag " + "diary " + "diff " + "diffpara " + "diffuse " + "dir " + "discrete_cdf " + "discrete_inv " + "discrete_pdf " + "discrete_rnd " + "disp " + "dispatch " + "display " + "divergence " + "dlmread " + "dlmwrite " + "dmperm " + "dmult " + "do " + "do_braindead_shortcircuit_evaluation " + "do_string_escapes " + "doc " + "doc_cache_file " + "dos " + "dot " + "double " + "drawnow " + "dsearch " + "dsearchn " + "dump_prefs " + "dup2 " + "duplication_matrix " + "durbinlevinson " + "e " + "echo " + "echo_executing_commands " + "edit " + "edit_history " + "eig " + "eigs " + "ellipsoid " + "else " + "elseif " + "empirical_cdf " + "empirical_inv " + "empirical_pdf " + "empirical_rnd " + "end " + "end_try_catch " + "end_unwind_protect " + "endfor " + "endfunction " + "endgrent " + "endif " + "endpwent " + "endswitch " + "endwhile " + "eomday " + "eps " + "eq " + "erf " + "erfc " + "erfcx " + "erfinv " + "errno " + "errno_list " + "error " + "error_text " + "errorbar " + "etime " + "etree " + "etreeplot " + "eval " + "evalin " + "example " + "exec " + "exist " + "exit " + "exp " + "expcdf " + "expinv " + "expm " + "expm1 " + "exppdf " + "exprnd " + "eye " + "ezcontour " + "ezcontourf " + "ezmesh " + "ezmeshc " + "ezplot " + "ezplot3 " + "ezpolar " + "ezsurf " + "ezsurfc " + "f_test_regression " + "factor " + "factorial " + "fail " + "false " + "fcdf " + "fclear " + "fclose " + "fcntl " + "fdisp " + "feather " + "feof " + "ferror " + "feval " + "fflush " + "fft " + "fft2 " + "fftconv " + "fftfilt " + "fftn " + "fftshift " + "fftw " + "fgetl " + "fgets " + "fieldnames " + "figure " + "file_in_loadpath " + "file_in_path " + "fileattrib " + "filemarker " + "fileparts " + "fileread " + "filesep " + "fill " + "filter " + "filter2 " + "find " + "find_dir_in_path " + "findall " + "findobj " + "findstr " + "finite " + "finv " + "fix " + "fixed_point_format " + "flag " + "flipdim " + "fliplr " + "flipud " + "floor " + "fminbnd " + "fminunc " + "fmod " + "fnmatch " + "fopen " + "for " + "fork " + "format " + "formula " + "fpdf " + "fplot " + "fprintf " + "fputs " + "fractdiff " + "fread " + "freport " + "freqz " + "freqz_plot " + "frewind " + "frnd " + "fscanf " + "fseek " + "fskipl " + "fsolve " + "fstat " + "ftell " + "full " + "fullfile " + "func2str " + "function " + "functions " + "fwrite " + "fzero " + "gamcdf " + "gaminv " + "gamma " + "gammai " + "gammainc " + "gammaln " + "gampdf " + "gamrnd " + "gca " + "gcbf " + "gcbo " + "gcd " + "gcf " + "ge " + "gen_doc_cache " + "genpath " + "genvarname " + "geocdf " + "geoinv " + "geopdf " + "geornd " + "get " + "get_first_help_sentence " + "get_help_text " + "get_help_text_from_file " + "getappdata " + "getegid " + "getenv " + "geteuid " + "getfield " + "getgid " + "getgrent " + "getgrgid " + "getgrnam " + "gethostname " + "getpgrp " + "getpid " + "getppid " + "getpwent " + "getpwnam " + "getpwuid " + "getrusage " + "getuid " + "ginput " + "givens " + "glob " + "global " + "glpk " + "glpkmex " + "gls " + "gmap40 " + "gmres " + "gmtime " + "gnuplot_binary " + "gplot " + "gradient " + "graphics_toolkit " + "gray " + "gray2ind " + "grid " + "griddata " + "griddata3 " + "griddatan " + "gt " + "gtext " + "gunzip " + "gzip " + "hadamard " + "hamming " + "hankel " + "hanning " + "help " + "hess " + "hex2dec " + "hex2num " + "hggroup " + "hidden " + "hilb " + "hist " + "histc " + "history " + "history_control " + "history_file " + "history_size " + "history_timestamp_format_string " + "hold " + "home " + "horzcat " + "hot " + "hotelling_test " + "hotelling_test_2 " + "housh " + "hsv " + "hsv2rgb " + "hurst " + "hygecdf " + "hygeinv " + "hygepdf " + "hygernd " + "hypot " + "i " + "idivide " + "if " + "ifelse " + "ifft " + "ifft2 " + "ifftn " + "ifftshift " + "ignore_function_time_stamp " + "imag " + "image " + "imagesc " + "imfinfo " + "imread " + "imshow " + "imwrite " + "ind2gray " + "ind2rgb " + "ind2sub " + "index " + "inf " + "inferiorto " + "info " + "info_file " + "info_program " + "inline " + "inpolygon " + "input " + "inputname " + "int16 " + "int2str " + "int32 " + "int64 " + "int8 " + "interp1 " + "interp1q " + "interp2 " + "interp3 " + "interpft " + "interpn " + "intersect " + "intmax " + "intmin " + "intwarning " + "inv " + "inverse " + "invhilb " + "ipermute " + "iqr " + "is_absolute_filename " + "is_duplicate_entry " + "is_global " + "is_leap_year " + "is_rooted_relative_filename " + "is_valid_file_id " + "isa " + "isalnum " + "isalpha " + "isappdata " + "isargout " + "isascii " + "isbool " + "iscell " + "iscellstr " + "ischar " + "iscntrl " + "iscolumn " + "iscommand " + "iscomplex " + "isdebugmode " + "isdefinite " + "isdeployed " + "isdigit " + "isdir " + "isempty " + "isequal " + "isequalwithequalnans " + "isfield " + "isfigure " + "isfinite " + "isfloat " + "isglobal " + "isgraph " + "ishandle " + "ishermitian " + "ishghandle " + "ishold " + "isieee " + "isindex " + "isinf " + "isinteger " + "iskeyword " + "isletter " + "islogical " + "islower " + "ismac " + "ismatrix " + "ismember " + "ismethod " + "isna " + "isnan " + "isnull " + "isnumeric " + "isobject " + "isocolors " + "isonormals " + "isosurface " + "ispc " + "isprime " + "isprint " + "isprop " + "ispunct " + "israwcommand " + "isreal " + "isrow " + "isscalar " + "issorted " + "isspace " + "issparse " + "issquare " + "isstr " + "isstrprop " + "isstruct " + "issymmetric " + "isunix " + "isupper " + "isvarname " + "isvector " + "isxdigit " + "j " + "jet " + "kbhit " + "kendall " + "keyboard " + "kill " + "kolmogorov_smirnov_cdf " + "kolmogorov_smirnov_test " + "kolmogorov_smirnov_test_2 " + "kron " + "kruskal_wallis_test " + "krylov " + "krylovb " + "kurtosis " + "laplace_cdf " + "laplace_inv " + "laplace_pdf " + "laplace_rnd " + "lasterr " + "lasterror " + "lastwarn " + "lchol " + "lcm " + "ldivide " + "le " + "legend " + "legendre " + "length " + "lgamma " + "license " + "lin2mu " + "line " + "link " + "linkprop " + "linspace " + "list " + "list_in_columns " + "list_primes " + "load " + "loadaudio " + "loadimage " + "loadobj " + "localtime " + "log " + "log10 " + "log1p " + "log2 " + "logical " + "logistic_cdf " + "logistic_inv " + "logistic_pdf " + "logistic_regression " + "logistic_rnd " + "logit " + "loglog " + "loglogerr " + "logm " + "logncdf " + "logninv " + "lognpdf " + "lognrnd " + "logspace " + "lookfor " + "lookup " + "lower " + "ls " + "ls_command " + "lsode " + "lsode_options " + "lsqnonneg " + "lstat " + "lt " + "lu " + "luinc " + "luupdate " + "magic " + "mahalanobis " + "make_absolute_filename " + "makeinfo_program " + "manova " + "mark_as_command " + "mark_as_rawcommand " + "mat2cell " + "mat2str " + "matlabroot " + "matrix_type " + "max " + "max_recursion_depth " + "mcnemar_test " + "md5sum " + "mean " + "meansq " + "median " + "menu " + "merge " + "mesh " + "meshc " + "meshgrid " + "meshz " + "methods " + "mex " + "mexext " + "mfilename " + "mgorth " + "min " + "minus " + "mislocked " + "missing_function_hook " + "mist " + "mkdir " + "mkfifo " + "mkoctfile " + "mkpp " + "mkstemp " + "mktime " + "mldivide " + "mlock " + "mod " + "mode " + "moment " + "more " + "most " + "movefile " + "mpoles " + "mpower " + "mrdivide " + "mtimes " + "mu2lin " + "munlock " + "namelengthmax " + "nan " + "nargchk " + "nargin " + "nargout " + "nargoutchk " + "native_float_format " + "nbincdf " + "nbininv " + "nbinpdf " + "nbinrnd " + "nchoosek " + "ndgrid " + "ndims " + "ne " + "newplot " + "news " + "nextpow2 " + "nfields " + "nnz " + "nonzeros " + "norm " + "normcdf " + "normest " + "norminv " + "normpdf " + "normrnd " + "not " + "now " + "nproc " + "nth_element " + "nthroot " + "ntsc2rgb " + "null " + "num2cell " + "num2hex " + "num2str " + "numel " + "nzmax " + "ocean " + "octave_config_info " + "octave_core_file_limit " + "octave_core_file_name " + "octave_core_file_options " + "octave_tmp_file_name " + "ols " + "onCleanup " + "onenormest " + "ones " + "optimget " + "optimize_subsasgn_calls " + "optimset " + "or " + "orderfields " + "orient " + "orth " + "otherwise " + "output_max_field_width " + "output_precision " + "pack " + "page_output_immediately " + "page_screen_output " + "paren " + "pareto " + "parseparams " + "pascal " + "patch " + "path " + "pathdef " + "pathsep " + "pause " + "pbaspect " + "pcg " + "pchip " + "pclose " + "pcolor " + "pcr " + "peaks " + "periodogram " + "perl " + "perms " + "permute " + "perror " + "persistent " + "pi " + "pie " + "pie3 " + "pink " + "pinv " + "pipe " + "pkg " + "planerot " + "playaudio " + "plot " + "plot3 " + "plotmatrix " + "plotyy " + "plus " + "poisscdf " + "poissinv " + "poisspdf " + "poissrnd " + "pol2cart " + "polar " + "poly " + "polyaffine " + "polyarea " + "polyder " + "polyderiv " + "polyfit " + "polygcd " + "polyint " + "polyout " + "polyreduce " + "polyval " + "polyvalm " + "popen " + "popen2 " + "postpad " + "pow2 " + "power " + "powerset " + "ppder " + "ppint " + "ppjumps " + "ppplot " + "ppval " + "pqpnonneg " + "prctile " + "prepad " + "primes " + "print " + "print_empty_dimensions " + "print_struct_array_contents " + "print_usage " + "printf " + "prism " + "probit " + "prod " + "program_invocation_name " + "program_name " + "prop_test_2 " + "putenv " + "puts " + "pwd " + "qp " + "qqplot " + "qr " + "qrdelete " + "qrinsert " + "qrshift " + "qrupdate " + "quad " + "quad_options " + "quadcc " + "quadgk " + "quadl " + "quadv " + "quantile " + "quit " + "quiver " + "quiver3 " + "qz " + "qzhess " + "rainbow " + "rand " + "rande " + "randg " + "randi " + "randn " + "randp " + "randperm " + "range " + "rank " + "ranks " + "rat " + "rats " + "rcond " + "rdivide " + "re_read_readline_init_file " + "read_readline_init_file " + "readdir " + "readlink " + "real " + "reallog " + "realmax " + "realmin " + "realpow " + "realsqrt " + "record " + "rectangle " + "rectint " + "refresh " + "refreshdata " + "regexp " + "regexpi " + "regexprep " + "regexptranslate " + "rehash " + "rem " + "remove_input_event_hook " + "rename " + "repelems " + "replot " + "repmat " + "reset " + "reshape " + "residue " + "resize " + "restoredefaultpath " + "rethrow " + "return " + "rgb2hsv " + "rgb2ind " + "rgb2ntsc " + "ribbon " + "rindex " + "rmappdata " + "rmdir " + "rmfield " + "rmpath " + "roots " + "rose " + "rosser " + "rot90 " + "rotdim " + "round " + "roundb " + "rows " + "rref " + "rsf2csf " + "run " + "run_count " + "run_history " + "run_test " + "rundemos " + "runlength " + "runtests " + "save " + "save_header_format_string " + "save_precision " + "saveas " + "saveaudio " + "saveimage " + "saveobj " + "savepath " + "saving_history " + "scanf " + "scatter " + "scatter3 " + "schur " + "sec " + "secd " + "sech " + "semicolon " + "semilogx " + "semilogxerr " + "semilogy " + "semilogyerr " + "set " + "setappdata " + "setaudio " + "setdiff " + "setenv " + "setfield " + "setgrent " + "setpwent " + "setstr " + "setxor " + "shading " + "shell_cmd " + "shg " + "shift " + "shiftdim " + "sighup_dumps_octave_core " + "sign " + "sign_test " + "sigterm_dumps_octave_core " + "silent_functions " + "sin " + "sinc " + "sind " + "sinetone " + "sinewave " + "single " + "sinh " + "size " + "size_equal " + "sizemax " + "sizeof " + "skewness " + "sleep " + "slice " + "sombrero " + "sort " + "sortrows " + "source " + "spalloc " + "sparse " + "sparse_auto_mutate " + "spatan2 " + "spaugment " + "spchol " + "spchol2inv " + "spcholinv " + "spconvert " + "spcumprod " + "spcumsum " + "spdet " + "spdiag " + "spdiags " + "spearman " + "spectral_adf " + "spectral_xdf " + "specular " + "speed " + "spencer " + "speye " + "spfind " + "spfun " + "sph2cart " + "sphcat " + "sphere " + "spinmap " + "spinv " + "spkron " + "splchol " + "spline " + "split " + "split_long_rows " + "splu " + "spmax " + "spmin " + "spones " + "spparms " + "spprod " + "spqr " + "sprand " + "sprandn " + "sprandsym " + "sprank " + "spring " + "sprintf " + "spstats " + "spsum " + "spsumsq " + "spvcat " + "spy " + "sqp " + "sqrt " + "sqrtm " + "squeeze " + "sscanf " + "stairs " + "stat " + "static " + "statistics " + "std " + "stderr " + "stdin " + "stdnormal_cdf " + "stdnormal_inv " + "stdnormal_pdf " + "stdnormal_rnd " + "stdout " + "stem " + "stem3 " + "stft " + "str2double " + "str2func " + "str2mat " + "str2num " + "strcat " + "strchr " + "strcmp " + "strcmpi " + "strerror " + "strfind " + "strftime " + "string_fill_char " + "strjust " + "strmatch " + "strncmp " + "strncmpi " + "strptime " + "strread " + "strrep " + "strsplit " + "strtok " + "strtrim " + "strtrunc " + "struct " + "struct2cell " + "struct_levels_to_print " + "structfun " + "strvcat " + "studentize " + "sub2ind " + "subplot " + "subsasgn " + "subsindex " + "subspace " + "subsref " + "substr " + "substruct " + "sum " + "summer " + "sumsq " + "superiorto " + "suppress_verbose_help_message " + "surf " + "surface " + "surfc " + "surfl " + "surfnorm " + "svd " + "svd_driver " + "svds " + "swapbytes " + "switch " + "syl " + "sylvester_matrix " + "symamd " + "symbfact " + "symlink " + "symrcm " + "symvar " + "synthesis " + "system " + "t_test " + "t_test_2 " + "t_test_regression " + "table " + "tan " + "tand " + "tanh " + "tar " + "tcdf " + "tempdir " + "tempname " + "terminal_size " + "test " + "test2 " + "test3 " + "text " + "textread " + "textscan " + "tic " + "tilde_expand " + "time " + "times " + "tinv " + "title " + "tmpfile " + "tmpnam " + "toascii " + "toc " + "toeplitz " + "tolower " + "toupper " + "tpdf " + "trace " + "transpose " + "trapz " + "treelayout " + "treeplot " + "tril " + "trimesh " + "triplequad " + "triplot " + "trisurf " + "triu " + "trnd " + "true " + "try " + "tsearch " + "tsearchn " + "type " + "typecast " + "typeinfo " + "u_test " + "uigetdir " + "uigetfile " + "uimenu " + "uint16 " + "uint32 " + "uint64 " + "uint8 " + "uiputfile " + "umask " + "uminus " + "uname " + "undo_string_escapes " + "unidcdf " + "unidinv " + "unidpdf " + "unidrnd " + "unifcdf " + "unifinv " + "unifpdf " + "unifrnd " + "unimplemented " + "union " + "unique " + "unix " + "unlink " + "unmark_command " + "unmark_rawcommand " + "unmkpp " + "unpack " + "untabify " + "untar " + "until " + "unwind_protect " + "unwind_protect_cleanup " + "unwrap " + "unzip " + "uplus " + "upper " + "urlread " + "urlwrite " + "usage " + "usleep " + "validatestring " + "values " + "vander " + "var " + "var_test " + "varargin " + "varargout " + "vec " + "vech " + "vectorize " + "ver " + "version " + "vertcat " + "view " + "voronoi " + "voronoin " + "waitforbuttonpress " + "waitpid " + "warning " + "warning_ids " + "warranty " + "wavread " + "wavwrite " + "wblcdf " + "wblinv " + "wblpdf " + "wblrnd " + "weekday " + "weibcdf " + "weibinv " + "weibpdf " + "weibrnd " + "welch_test " + "what " + "which " + "while " + "white " + "whitebg " + "who " + "whos " + "whos_line_format " + "wienrnd " + "wilcoxon_test " + "wilkinson " + "winter " + "xlabel " + "xlim " + "xor " + "yes_or_no " + "ylabel " + "ylim " + "yulewalker " + "z_test " + "z_test_2 " + "zeros " + "zip " + "zlabel " + "zlim "; + /* "break case catch continue do else elseif end end_unwind_protect " + "endfor endfunction endif endswitch endwhile for function " + "global if otherwise persistent return switch try until " + "unwind_protect unwind_protect_cleanup while"; + */ +} diff -r eb03d0b39c18 -r ddc3c20d0e2f gui/src/ResourceManager.h --- a/gui/src/ResourceManager.h Sat Sep 10 08:11:44 2011 +0200 +++ b/gui/src/ResourceManager.h Sat Sep 10 09:15:38 2011 +0200 @@ -52,6 +52,7 @@ void loadIcons (); QIcon icon (Icon icon); + const char *octaveKeywords (); private: ResourceManager (); diff -r eb03d0b39c18 -r ddc3c20d0e2f gui/src/TerminalHighlighter.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/src/TerminalHighlighter.cpp Sat Sep 10 09:15:38 2011 +0200 @@ -0,0 +1,72 @@ +/* OctaveGUI - A graphical user interface for Octave + * Copyright (C) 2011 Jacob Dawid + * jacob.dawid@googlemail.com + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "ResourceManager.h" +#include "TerminalHighlighter.h" + +TerminalHighlighter::TerminalHighlighter(QTextDocument *parent) + : QSyntaxHighlighter(parent) +{ + HighlightingRule rule; + + keywordFormat.setForeground(Qt::darkBlue); + QStringList keywordPatterns + = QString(ResourceManager::instance ()->octaveKeywords ()).split(" ", QString::SkipEmptyParts); + keywordPatterns << "GNU" << "Octave"; + + for (int i = 0; i < keywordPatterns.size (); i++) + keywordPatterns.replace(i, QString("\\b%1\\b").arg(keywordPatterns.at (i))); + + foreach (const QString &pattern, keywordPatterns) + { + rule.pattern = QRegExp(pattern); + rule.format = keywordFormat; + highlightingRules.append(rule); + } + + doubleQouteFormat.setForeground(Qt::darkGreen); + rule.pattern = QRegExp("\"[^\"]*\""); + rule.format = doubleQouteFormat; + highlightingRules.append(rule); + + functionFormat.setFontItalic(true); + functionFormat.setForeground(Qt::blue); + rule.pattern = QRegExp("\\b[A-Za-z0-9_]+\\s*(?=\\()"); + rule.format = functionFormat; + highlightingRules.append(rule); + + urlFormat.setForeground(Qt::darkYellow); + rule.pattern = QRegExp("((?:https?|ftp)://\\S+)"); + rule.format = urlFormat; + highlightingRules.append(rule); +} + +void TerminalHighlighter::highlightBlock(const QString &text) +{ + foreach (const HighlightingRule &rule, highlightingRules) + { + QRegExp expression(rule.pattern); + int index = expression.indexIn(text); + while (index >= 0) + { + int length = expression.matchedLength(); + setFormat(index, length, rule.format); + index = expression.indexIn(text, index + length); + } + } +} diff -r eb03d0b39c18 -r ddc3c20d0e2f gui/src/TerminalHighlighter.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/src/TerminalHighlighter.h Sat Sep 10 09:15:38 2011 +0200 @@ -0,0 +1,54 @@ +/* OctaveGUI - A graphical user interface for Octave + * Copyright (C) 2011 Jacob Dawid + * jacob.dawid@googlemail.com + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#ifndef TERMINALHIGHLIGHTER_H +#define TERMINALHIGHLIGHTER_H + +#include + +#include +#include + +class QTextDocument; + +class TerminalHighlighter : public QSyntaxHighlighter +{ + Q_OBJECT + +public: + TerminalHighlighter(QTextDocument *parent = 0); + +protected: + void highlightBlock(const QString &text); + +private: + struct HighlightingRule + { + QRegExp pattern; + QTextCharFormat format; + }; + + QVector highlightingRules; + QTextCharFormat keywordFormat; + QTextCharFormat doubleQouteFormat; + QTextCharFormat functionFormat; + QTextCharFormat urlFormat; +}; + + +#endif // TERMINALHIGHLIGHTER_H diff -r eb03d0b39c18 -r ddc3c20d0e2f gui/src/TerminalView.cpp --- a/gui/src/TerminalView.cpp Sat Sep 10 08:11:44 2011 +0200 +++ b/gui/src/TerminalView.cpp Sat Sep 10 09:15:38 2011 +0200 @@ -16,6 +16,7 @@ * along with this program. If not, see . */ +#include "TerminalHighlighter.h" #include "TerminalView.h" #include #include @@ -26,9 +27,12 @@ TerminalView::TerminalView (QWidget * parent) : QPlainTextEdit (parent), Terminal () { - setFont (QFont("Monospace", 10)); + setFont (QFont ("Monospace", 10)); setSizePolicy (QSizePolicy::Expanding, QSizePolicy::Expanding); m_terminalEmulation = TerminalEmulation::newTerminalEmulation (this); + + TerminalHighlighter *terminalHighlighter = new TerminalHighlighter (); + terminalHighlighter->setDocument (document ()); } TerminalView::~TerminalView () diff -r eb03d0b39c18 -r ddc3c20d0e2f gui/src/backend/OctaveMainThread.cpp --- a/gui/src/backend/OctaveMainThread.cpp Sat Sep 10 08:11:44 2011 +0200 +++ b/gui/src/backend/OctaveMainThread.cpp Sat Sep 10 09:15:38 2011 +0200 @@ -31,5 +31,6 @@ octave_main (argc, (char **) argv, 1); emit ready(); main_loop (); + // TODO: Close application on quit. clean_up_and_exit (0); } diff -r eb03d0b39c18 -r ddc3c20d0e2f gui/src/lexer/lexeroctavegui.cpp --- a/gui/src/lexer/lexeroctavegui.cpp Sat Sep 10 08:11:44 2011 +0200 +++ b/gui/src/lexer/lexeroctavegui.cpp Sat Sep 10 09:15:38 2011 +0200 @@ -138,1562 +138,8 @@ { if (set == 1) { - return - ".nargin. " - "EDITOR " - "EXEC_PATH " - "F_DUPFD " - "F_GETFD " - "F_GETFL " - "F_SETFD " - "F_SETFL " - "I " - "IMAGE_PATH " - "Inf " - "J " - "NA " - "NaN " - "OCTAVE_HOME " - "OCTAVE_VERSION " - "O_APPEND " - "O_ASYNC " - "O_CREAT " - "O_EXCL " - "O_NONBLOCK " - "O_RDONLY " - "O_RDWR " - "O_SYNC " - "O_TRUNC " - "O_WRONLY " - "PAGER " - "PAGER_FLAGS " - "PS1 " - "PS2 " - "PS4 " - "P_tmpdir " - "SEEK_CUR " - "SEEK_END " - "SEEK_SET " - "SIG " - "S_ISBLK " - "S_ISCHR " - "S_ISDIR " - "S_ISFIFO " - "S_ISLNK " - "S_ISREG " - "S_ISSOCK " - "WCONTINUE " - "WCOREDUMP " - "WEXITSTATUS " - "WIFCONTINUED " - "WIFEXITED " - "WIFSIGNALED " - "WIFSTOPPED " - "WNOHANG " - "WSTOPSIG " - "WTERMSIG " - "WUNTRACED " - "__accumarray_max__ " - "__accumarray_min__ " - "__accumarray_sum__ " - "__accumdim_sum__ " - "__all_opts__ " - "__builtins__ " - "__calc_dimensions__ " - "__contourc__ " - "__current_scope__ " - "__delaunayn__ " - "__dispatch__ " - "__display_tokens__ " - "__dsearchn__ " - "__dump_symtab_info__ " - "__end__ " - "__error_text__ " - "__finish__ " - "__fltk_ginput__ " - "__fltk_print__ " - "__fltk_uigetfile__ " - "__ftp__ " - "__ftp_ascii__ " - "__ftp_binary__ " - "__ftp_close__ " - "__ftp_cwd__ " - "__ftp_delete__ " - "__ftp_dir__ " - "__ftp_mget__ " - "__ftp_mkdir__ " - "__ftp_mode__ " - "__ftp_mput__ " - "__ftp_pwd__ " - "__ftp_rename__ " - "__ftp_rmdir__ " - "__get__ " - "__glpk__ " - "__gnuplot_drawnow__ " - "__gnuplot_get_var__ " - "__gnuplot_ginput__ " - "__gnuplot_has_feature__ " - "__gnuplot_open_stream__ " - "__gnuplot_print__ " - "__gnuplot_version__ " - "__go_axes__ " - "__go_axes_init__ " - "__go_close_all__ " - "__go_delete__ " - "__go_draw_axes__ " - "__go_draw_figure__ " - "__go_execute_callback__ " - "__go_figure__ " - "__go_figure_handles__ " - "__go_handles__ " - "__go_hggroup__ " - "__go_image__ " - "__go_line__ " - "__go_patch__ " - "__go_surface__ " - "__go_text__ " - "__go_uimenu__ " - "__gud_mode__ " - "__image_pixel_size__ " - "__init_fltk__ " - "__isa_parent__ " - "__keywords__ " - "__lexer_debug_flag__ " - "__lin_interpn__ " - "__list_functions__ " - "__magick_finfo__ " - "__magick_format_list__ " - "__magick_read__ " - "__magick_write__ " - "__makeinfo__ " - "__marching_cube__ " - "__next_line_color__ " - "__next_line_style__ " - "__operators__ " - "__parent_classes__ " - "__parser_debug_flag__ " - "__pathorig__ " - "__pchip_deriv__ " - "__plt_get_axis_arg__ " - "__print_parse_opts__ " - "__qp__ " - "__request_drawnow__ " - "__sort_rows_idx__ " - "__strip_html_tags__ " - "__token_count__ " - "__varval__ " - "__version_info__ " - "__voronoi__ " - "__which__ " - "abs " - "accumarray " - "accumdim " - "acos " - "acosd " - "acosh " - "acot " - "acotd " - "acoth " - "acsc " - "acscd " - "acsch " - "add_input_event_hook " - "addlistener " - "addpath " - "addproperty " - "addtodate " - "airy " - "all " - "allchild " - "allow_noninteger_range_as_index " - "amd " - "ancestor " - "and " - "angle " - "anova " - "ans " - "any " - "arch_fit " - "arch_rnd " - "arch_test " - "area " - "arg " - "argnames " - "argv " - "arma_rnd " - "arrayfun " - "asctime " - "asec " - "asecd " - "asech " - "asin " - "asind " - "asinh " - "assert " - "assignin " - "atan " - "atan2 " - "atand " - "atanh " - "atexit " - "autocor " - "autocov " - "autoload " - "autoreg_matrix " - "autumn " - "available_graphics_toolkits " - "axes " - "axis " - "balance " - "bar " - "barh " - "bartlett " - "bartlett_test " - "base2dec " - "beep " - "beep_on_error " - "bessel " - "besselh " - "besseli " - "besselj " - "besselk " - "bessely " - "beta " - "betacdf " - "betai " - "betainc " - "betainv " - "betaln " - "betapdf " - "betarnd " - "bicgstab " - "bicubic " - "bin2dec " - "bincoeff " - "binocdf " - "binoinv " - "binopdf " - "binornd " - "bitand " - "bitcmp " - "bitget " - "bitmax " - "bitor " - "bitpack " - "bitset " - "bitshift " - "bitunpack " - "bitxor " - "blackman " - "blanks " - "blkdiag " - "blkmm " - "bone " - "box " - "break " - "brighten " - "bsxfun " - "bug_report " - "builtin " - "bunzip2 " - "bzip2 " - "calendar " - "canonicalize_file_name " - "cart2pol " - "cart2sph " - "case " - "cast " - "cat " - "catch " - "cauchy_cdf " - "cauchy_inv " - "cauchy_pdf " - "cauchy_rnd " - "caxis " - "cbrt " - "ccolamd " - "cd " - "ceil " - "cell " - "cell2mat " - "cell2struct " - "celldisp " - "cellfun " - "cellidx " - "cellindexmat " - "cellslices " - "cellstr " - "center " - "cgs " - "char " - "chdir " - "chi2cdf " - "chi2inv " - "chi2pdf " - "chi2rnd " - "chisquare_test_homogeneity " - "chisquare_test_independence " - "chol " - "chol2inv " - "choldelete " - "cholinsert " - "cholinv " - "cholshift " - "cholupdate " - "chop " - "circshift " - "cla " - "clabel " - "class " - "clc " - "clear " - "clf " - "clg " - "clock " - "cloglog " - "close " - "closereq " - "colamd " - "colloc " - "colon " - "colorbar " - "colormap " - "colperm " - "colstyle " - "columns " - "comet " - "comet3 " - "comma " - "command_line_path " - "common_size " - "commutation_matrix " - "compan " - "compare_versions " - "compass " - "complement " - "completion_append_char " - "completion_matches " - "complex " - "computer " - "cond " - "condest " - "confirm_recursive_rmdir " - "conj " - "continue " - "contour " - "contour3 " - "contourc " - "contourf " - "contrast " - "conv " - "conv2 " - "convhull " - "convhulln " - "convn " - "cool " - "copper " - "copyfile " - "cor " - "cor_test " - "corrcoef " - "cos " - "cosd " - "cosh " - "cot " - "cotd " - "coth " - "cov " - "cplxpair " - "cputime " - "cquad " - "crash_dumps_octave_core " - "create_set " - "cross " - "csc " - "cscd " - "csch " - "cstrcat " - "csvread " - "csvwrite " - "csymamd " - "ctime " - "ctranspose " - "cummax " - "cummin " - "cumprod " - "cumsum " - "cumtrapz " - "curl " - "cut " - "cylinder " - "daspect " - "daspk " - "daspk_options " - "dasrt " - "dasrt_options " - "dassl " - "dassl_options " - "date " - "datenum " - "datestr " - "datetick " - "datevec " - "dbclear " - "dbcont " - "dbdown " - "dblquad " - "dbnext " - "dbquit " - "dbstack " - "dbstatus " - "dbstep " - "dbstop " - "dbtype " - "dbup " - "dbwhere " - "deal " - "deblank " - "debug " - "debug_on_error " - "debug_on_interrupt " - "debug_on_warning " - "dec2base " - "dec2bin " - "dec2hex " - "deconv " - "default_save_options " - "del2 " - "delaunay " - "delaunay3 " - "delaunayn " - "delete " - "dellistener " - "demo " - "det " - "detrend " - "diag " - "diary " - "diff " - "diffpara " - "diffuse " - "dir " - "discrete_cdf " - "discrete_inv " - "discrete_pdf " - "discrete_rnd " - "disp " - "dispatch " - "display " - "divergence " - "dlmread " - "dlmwrite " - "dmperm " - "dmult " - "do " - "do_braindead_shortcircuit_evaluation " - "do_string_escapes " - "doc " - "doc_cache_file " - "dos " - "dot " - "double " - "drawnow " - "dsearch " - "dsearchn " - "dump_prefs " - "dup2 " - "duplication_matrix " - "durbinlevinson " - "e " - "echo " - "echo_executing_commands " - "edit " - "edit_history " - "eig " - "eigs " - "ellipsoid " - "else " - "elseif " - "empirical_cdf " - "empirical_inv " - "empirical_pdf " - "empirical_rnd " - "end " - "end_try_catch " - "end_unwind_protect " - "endfor " - "endfunction " - "endgrent " - "endif " - "endpwent " - "endswitch " - "endwhile " - "eomday " - "eps " - "eq " - "erf " - "erfc " - "erfcx " - "erfinv " - "errno " - "errno_list " - "error " - "error_text " - "errorbar " - "etime " - "etree " - "etreeplot " - "eval " - "evalin " - "example " - "exec " - "exist " - "exit " - "exp " - "expcdf " - "expinv " - "expm " - "expm1 " - "exppdf " - "exprnd " - "eye " - "ezcontour " - "ezcontourf " - "ezmesh " - "ezmeshc " - "ezplot " - "ezplot3 " - "ezpolar " - "ezsurf " - "ezsurfc " - "f_test_regression " - "factor " - "factorial " - "fail " - "false " - "fcdf " - "fclear " - "fclose " - "fcntl " - "fdisp " - "feather " - "feof " - "ferror " - "feval " - "fflush " - "fft " - "fft2 " - "fftconv " - "fftfilt " - "fftn " - "fftshift " - "fftw " - "fgetl " - "fgets " - "fieldnames " - "figure " - "file_in_loadpath " - "file_in_path " - "fileattrib " - "filemarker " - "fileparts " - "fileread " - "filesep " - "fill " - "filter " - "filter2 " - "find " - "find_dir_in_path " - "findall " - "findobj " - "findstr " - "finite " - "finv " - "fix " - "fixed_point_format " - "flag " - "flipdim " - "fliplr " - "flipud " - "floor " - "fminbnd " - "fminunc " - "fmod " - "fnmatch " - "fopen " - "for " - "fork " - "format " - "formula " - "fpdf " - "fplot " - "fprintf " - "fputs " - "fractdiff " - "fread " - "freport " - "freqz " - "freqz_plot " - "frewind " - "frnd " - "fscanf " - "fseek " - "fskipl " - "fsolve " - "fstat " - "ftell " - "full " - "fullfile " - "func2str " - "function " - "functions " - "fwrite " - "fzero " - "gamcdf " - "gaminv " - "gamma " - "gammai " - "gammainc " - "gammaln " - "gampdf " - "gamrnd " - "gca " - "gcbf " - "gcbo " - "gcd " - "gcf " - "ge " - "gen_doc_cache " - "genpath " - "genvarname " - "geocdf " - "geoinv " - "geopdf " - "geornd " - "get " - "get_first_help_sentence " - "get_help_text " - "get_help_text_from_file " - "getappdata " - "getegid " - "getenv " - "geteuid " - "getfield " - "getgid " - "getgrent " - "getgrgid " - "getgrnam " - "gethostname " - "getpgrp " - "getpid " - "getppid " - "getpwent " - "getpwnam " - "getpwuid " - "getrusage " - "getuid " - "ginput " - "givens " - "glob " - "global " - "glpk " - "glpkmex " - "gls " - "gmap40 " - "gmres " - "gmtime " - "gnuplot_binary " - "gplot " - "gradient " - "graphics_toolkit " - "gray " - "gray2ind " - "grid " - "griddata " - "griddata3 " - "griddatan " - "gt " - "gtext " - "gunzip " - "gzip " - "hadamard " - "hamming " - "hankel " - "hanning " - "help " - "hess " - "hex2dec " - "hex2num " - "hggroup " - "hidden " - "hilb " - "hist " - "histc " - "history " - "history_control " - "history_file " - "history_size " - "history_timestamp_format_string " - "hold " - "home " - "horzcat " - "hot " - "hotelling_test " - "hotelling_test_2 " - "housh " - "hsv " - "hsv2rgb " - "hurst " - "hygecdf " - "hygeinv " - "hygepdf " - "hygernd " - "hypot " - "i " - "idivide " - "if " - "ifelse " - "ifft " - "ifft2 " - "ifftn " - "ifftshift " - "ignore_function_time_stamp " - "imag " - "image " - "imagesc " - "imfinfo " - "imread " - "imshow " - "imwrite " - "ind2gray " - "ind2rgb " - "ind2sub " - "index " - "inf " - "inferiorto " - "info " - "info_file " - "info_program " - "inline " - "inpolygon " - "input " - "inputname " - "int16 " - "int2str " - "int32 " - "int64 " - "int8 " - "interp1 " - "interp1q " - "interp2 " - "interp3 " - "interpft " - "interpn " - "intersect " - "intmax " - "intmin " - "intwarning " - "inv " - "inverse " - "invhilb " - "ipermute " - "iqr " - "is_absolute_filename " - "is_duplicate_entry " - "is_global " - "is_leap_year " - "is_rooted_relative_filename " - "is_valid_file_id " - "isa " - "isalnum " - "isalpha " - "isappdata " - "isargout " - "isascii " - "isbool " - "iscell " - "iscellstr " - "ischar " - "iscntrl " - "iscolumn " - "iscommand " - "iscomplex " - "isdebugmode " - "isdefinite " - "isdeployed " - "isdigit " - "isdir " - "isempty " - "isequal " - "isequalwithequalnans " - "isfield " - "isfigure " - "isfinite " - "isfloat " - "isglobal " - "isgraph " - "ishandle " - "ishermitian " - "ishghandle " - "ishold " - "isieee " - "isindex " - "isinf " - "isinteger " - "iskeyword " - "isletter " - "islogical " - "islower " - "ismac " - "ismatrix " - "ismember " - "ismethod " - "isna " - "isnan " - "isnull " - "isnumeric " - "isobject " - "isocolors " - "isonormals " - "isosurface " - "ispc " - "isprime " - "isprint " - "isprop " - "ispunct " - "israwcommand " - "isreal " - "isrow " - "isscalar " - "issorted " - "isspace " - "issparse " - "issquare " - "isstr " - "isstrprop " - "isstruct " - "issymmetric " - "isunix " - "isupper " - "isvarname " - "isvector " - "isxdigit " - "j " - "jet " - "kbhit " - "kendall " - "keyboard " - "kill " - "kolmogorov_smirnov_cdf " - "kolmogorov_smirnov_test " - "kolmogorov_smirnov_test_2 " - "kron " - "kruskal_wallis_test " - "krylov " - "krylovb " - "kurtosis " - "laplace_cdf " - "laplace_inv " - "laplace_pdf " - "laplace_rnd " - "lasterr " - "lasterror " - "lastwarn " - "lchol " - "lcm " - "ldivide " - "le " - "legend " - "legendre " - "length " - "lgamma " - "license " - "lin2mu " - "line " - "link " - "linkprop " - "linspace " - "list " - "list_in_columns " - "list_primes " - "load " - "loadaudio " - "loadimage " - "loadobj " - "localtime " - "log " - "log10 " - "log1p " - "log2 " - "logical " - "logistic_cdf " - "logistic_inv " - "logistic_pdf " - "logistic_regression " - "logistic_rnd " - "logit " - "loglog " - "loglogerr " - "logm " - "logncdf " - "logninv " - "lognpdf " - "lognrnd " - "logspace " - "lookfor " - "lookup " - "lower " - "ls " - "ls_command " - "lsode " - "lsode_options " - "lsqnonneg " - "lstat " - "lt " - "lu " - "luinc " - "luupdate " - "magic " - "mahalanobis " - "make_absolute_filename " - "makeinfo_program " - "manova " - "mark_as_command " - "mark_as_rawcommand " - "mat2cell " - "mat2str " - "matlabroot " - "matrix_type " - "max " - "max_recursion_depth " - "mcnemar_test " - "md5sum " - "mean " - "meansq " - "median " - "menu " - "merge " - "mesh " - "meshc " - "meshgrid " - "meshz " - "methods " - "mex " - "mexext " - "mfilename " - "mgorth " - "min " - "minus " - "mislocked " - "missing_function_hook " - "mist " - "mkdir " - "mkfifo " - "mkoctfile " - "mkpp " - "mkstemp " - "mktime " - "mldivide " - "mlock " - "mod " - "mode " - "moment " - "more " - "most " - "movefile " - "mpoles " - "mpower " - "mrdivide " - "mtimes " - "mu2lin " - "munlock " - "namelengthmax " - "nan " - "nargchk " - "nargin " - "nargout " - "nargoutchk " - "native_float_format " - "nbincdf " - "nbininv " - "nbinpdf " - "nbinrnd " - "nchoosek " - "ndgrid " - "ndims " - "ne " - "newplot " - "news " - "nextpow2 " - "nfields " - "nnz " - "nonzeros " - "norm " - "normcdf " - "normest " - "norminv " - "normpdf " - "normrnd " - "not " - "now " - "nproc " - "nth_element " - "nthroot " - "ntsc2rgb " - "null " - "num2cell " - "num2hex " - "num2str " - "numel " - "nzmax " - "ocean " - "octave_config_info " - "octave_core_file_limit " - "octave_core_file_name " - "octave_core_file_options " - "octave_tmp_file_name " - "ols " - "onCleanup " - "onenormest " - "ones " - "optimget " - "optimize_subsasgn_calls " - "optimset " - "or " - "orderfields " - "orient " - "orth " - "otherwise " - "output_max_field_width " - "output_precision " - "pack " - "page_output_immediately " - "page_screen_output " - "paren " - "pareto " - "parseparams " - "pascal " - "patch " - "path " - "pathdef " - "pathsep " - "pause " - "pbaspect " - "pcg " - "pchip " - "pclose " - "pcolor " - "pcr " - "peaks " - "periodogram " - "perl " - "perms " - "permute " - "perror " - "persistent " - "pi " - "pie " - "pie3 " - "pink " - "pinv " - "pipe " - "pkg " - "planerot " - "playaudio " - "plot " - "plot3 " - "plotmatrix " - "plotyy " - "plus " - "poisscdf " - "poissinv " - "poisspdf " - "poissrnd " - "pol2cart " - "polar " - "poly " - "polyaffine " - "polyarea " - "polyder " - "polyderiv " - "polyfit " - "polygcd " - "polyint " - "polyout " - "polyreduce " - "polyval " - "polyvalm " - "popen " - "popen2 " - "postpad " - "pow2 " - "power " - "powerset " - "ppder " - "ppint " - "ppjumps " - "ppplot " - "ppval " - "pqpnonneg " - "prctile " - "prepad " - "primes " - "print " - "print_empty_dimensions " - "print_struct_array_contents " - "print_usage " - "printf " - "prism " - "probit " - "prod " - "program_invocation_name " - "program_name " - "prop_test_2 " - "putenv " - "puts " - "pwd " - "qp " - "qqplot " - "qr " - "qrdelete " - "qrinsert " - "qrshift " - "qrupdate " - "quad " - "quad_options " - "quadcc " - "quadgk " - "quadl " - "quadv " - "quantile " - "quit " - "quiver " - "quiver3 " - "qz " - "qzhess " - "rainbow " - "rand " - "rande " - "randg " - "randi " - "randn " - "randp " - "randperm " - "range " - "rank " - "ranks " - "rat " - "rats " - "rcond " - "rdivide " - "re_read_readline_init_file " - "read_readline_init_file " - "readdir " - "readlink " - "real " - "reallog " - "realmax " - "realmin " - "realpow " - "realsqrt " - "record " - "rectangle " - "rectint " - "refresh " - "refreshdata " - "regexp " - "regexpi " - "regexprep " - "regexptranslate " - "rehash " - "rem " - "remove_input_event_hook " - "rename " - "repelems " - "replot " - "repmat " - "reset " - "reshape " - "residue " - "resize " - "restoredefaultpath " - "rethrow " - "return " - "rgb2hsv " - "rgb2ind " - "rgb2ntsc " - "ribbon " - "rindex " - "rmappdata " - "rmdir " - "rmfield " - "rmpath " - "roots " - "rose " - "rosser " - "rot90 " - "rotdim " - "round " - "roundb " - "rows " - "rref " - "rsf2csf " - "run " - "run_count " - "run_history " - "run_test " - "rundemos " - "runlength " - "runtests " - "save " - "save_header_format_string " - "save_precision " - "saveas " - "saveaudio " - "saveimage " - "saveobj " - "savepath " - "saving_history " - "scanf " - "scatter " - "scatter3 " - "schur " - "sec " - "secd " - "sech " - "semicolon " - "semilogx " - "semilogxerr " - "semilogy " - "semilogyerr " - "set " - "setappdata " - "setaudio " - "setdiff " - "setenv " - "setfield " - "setgrent " - "setpwent " - "setstr " - "setxor " - "shading " - "shell_cmd " - "shg " - "shift " - "shiftdim " - "sighup_dumps_octave_core " - "sign " - "sign_test " - "sigterm_dumps_octave_core " - "silent_functions " - "sin " - "sinc " - "sind " - "sinetone " - "sinewave " - "single " - "sinh " - "size " - "size_equal " - "sizemax " - "sizeof " - "skewness " - "sleep " - "slice " - "sombrero " - "sort " - "sortrows " - "source " - "spalloc " - "sparse " - "sparse_auto_mutate " - "spatan2 " - "spaugment " - "spchol " - "spchol2inv " - "spcholinv " - "spconvert " - "spcumprod " - "spcumsum " - "spdet " - "spdiag " - "spdiags " - "spearman " - "spectral_adf " - "spectral_xdf " - "specular " - "speed " - "spencer " - "speye " - "spfind " - "spfun " - "sph2cart " - "sphcat " - "sphere " - "spinmap " - "spinv " - "spkron " - "splchol " - "spline " - "split " - "split_long_rows " - "splu " - "spmax " - "spmin " - "spones " - "spparms " - "spprod " - "spqr " - "sprand " - "sprandn " - "sprandsym " - "sprank " - "spring " - "sprintf " - "spstats " - "spsum " - "spsumsq " - "spvcat " - "spy " - "sqp " - "sqrt " - "sqrtm " - "squeeze " - "sscanf " - "stairs " - "stat " - "static " - "statistics " - "std " - "stderr " - "stdin " - "stdnormal_cdf " - "stdnormal_inv " - "stdnormal_pdf " - "stdnormal_rnd " - "stdout " - "stem " - "stem3 " - "stft " - "str2double " - "str2func " - "str2mat " - "str2num " - "strcat " - "strchr " - "strcmp " - "strcmpi " - "strerror " - "strfind " - "strftime " - "string_fill_char " - "strjust " - "strmatch " - "strncmp " - "strncmpi " - "strptime " - "strread " - "strrep " - "strsplit " - "strtok " - "strtrim " - "strtrunc " - "struct " - "struct2cell " - "struct_levels_to_print " - "structfun " - "strvcat " - "studentize " - "sub2ind " - "subplot " - "subsasgn " - "subsindex " - "subspace " - "subsref " - "substr " - "substruct " - "sum " - "summer " - "sumsq " - "superiorto " - "suppress_verbose_help_message " - "surf " - "surface " - "surfc " - "surfl " - "surfnorm " - "svd " - "svd_driver " - "svds " - "swapbytes " - "switch " - "syl " - "sylvester_matrix " - "symamd " - "symbfact " - "symlink " - "symrcm " - "symvar " - "synthesis " - "system " - "t_test " - "t_test_2 " - "t_test_regression " - "table " - "tan " - "tand " - "tanh " - "tar " - "tcdf " - "tempdir " - "tempname " - "terminal_size " - "test " - "test2 " - "test3 " - "text " - "textread " - "textscan " - "tic " - "tilde_expand " - "time " - "times " - "tinv " - "title " - "tmpfile " - "tmpnam " - "toascii " - "toc " - "toeplitz " - "tolower " - "toupper " - "tpdf " - "trace " - "transpose " - "trapz " - "treelayout " - "treeplot " - "tril " - "trimesh " - "triplequad " - "triplot " - "trisurf " - "triu " - "trnd " - "true " - "try " - "tsearch " - "tsearchn " - "type " - "typecast " - "typeinfo " - "u_test " - "uigetdir " - "uigetfile " - "uimenu " - "uint16 " - "uint32 " - "uint64 " - "uint8 " - "uiputfile " - "umask " - "uminus " - "uname " - "undo_string_escapes " - "unidcdf " - "unidinv " - "unidpdf " - "unidrnd " - "unifcdf " - "unifinv " - "unifpdf " - "unifrnd " - "unimplemented " - "union " - "unique " - "unix " - "unlink " - "unmark_command " - "unmark_rawcommand " - "unmkpp " - "unpack " - "untabify " - "untar " - "until " - "unwind_protect " - "unwind_protect_cleanup " - "unwrap " - "unzip " - "uplus " - "upper " - "urlread " - "urlwrite " - "usage " - "usleep " - "validatestring " - "values " - "vander " - "var " - "var_test " - "varargin " - "varargout " - "vec " - "vech " - "vectorize " - "ver " - "version " - "vertcat " - "view " - "voronoi " - "voronoin " - "waitforbuttonpress " - "waitpid " - "warning " - "warning_ids " - "warranty " - "wavread " - "wavwrite " - "wblcdf " - "wblinv " - "wblpdf " - "wblrnd " - "weekday " - "weibcdf " - "weibinv " - "weibpdf " - "weibrnd " - "welch_test " - "what " - "which " - "while " - "white " - "whitebg " - "who " - "whos " - "whos_line_format " - "wienrnd " - "wilcoxon_test " - "wilkinson " - "winter " - "xlabel " - "xlim " - "xor " - "yes_or_no " - "ylabel " - "ylim " - "yulewalker " - "z_test " - "z_test_2 " - "zeros " - "zip " - "zlabel " - "zlim "; + return ResourceManager::instance ()->octaveKeywords (); } -/* "break case catch continue do else elseif end end_unwind_protect " - "endfor endfunction endif endswitch endwhile for function " - "global if otherwise persistent return switch try until " - "unwind_protect unwind_protect_cleanup while"; -*/ return 0; } diff -r eb03d0b39c18 -r ddc3c20d0e2f gui/src/lexer/lexeroctavegui.h --- a/gui/src/lexer/lexeroctavegui.h Sat Sep 10 08:11:44 2011 +0200 +++ b/gui/src/lexer/lexeroctavegui.h Sat Sep 10 09:15:38 2011 +0200 @@ -22,7 +22,8 @@ #ifndef LEXEROCTAVE_H #define LEXEROCTAVE_H -#include +#include "ResourceManager.h" +#include #include #include