    ##=====================================================
    % Octave test code for Kate/Kwrite syntax highlighting
    % (shamelessly copied from Matlab's, since the two
    %  are very similar)
    % kate: hl Octave;
    ##=====================================================

    % Numbers _____________________________________________
    5, 5.5, .1, 0.1, 0.4e5, 1.2e-5, 5i, 5.3i, 6j, .345+3i
    5', 5.5', .1', 0.1', 0.4e5', 1.2e-5', 5i', 5.3i', 6j', .345+3i'

    % Operators ___________________________________________
    % relational operators
    'asdf'~=4, c<=4, d>=4, a<b, a>b, a==b, b||c, b&&c
    % elementwise arithmetic operators
    a.^b, a.*b a./b, 1:4:5
    % single-character binary arithmetic
    a+3, a-3, a*2, a^3, a/3, a\3, a|b, a&b
    % unary operators
    a = ~g; g = @sfdgdsf(sdfsd,345); g.' + 1i.' - ('asdf').'
    % separators and delimiter
    (asd),[sadf];{asdf},;;,;;;()
    % continuation
    a = 1+ ...
      2;

    % Strings and adjoint _________________________________
    % incomplete strings
    'string
    'str''
    'str''ing
    'str''\'
    % complete strings
    'string' % simple string
    '''' '\'' % strings containing '
    'str''ing' % one string containing '
    'string' 'string'  % two strings
    'asdf'  "asdf""" variable  % two strings and a variable
    'asdf''asdf''   fsgdfg' + (asdf)' - 'asdf'.' + []''''.';''
    'sadf'.' % string transpose
    % adjoint
    {'asdf'}' + 1
    ('asdf')' + 1
    ['asdf']' + 1
    '' var''' % empty string, var with >1 adjoints
    [5]'*{5}'*('asd')'.'+(5)'*6'*asdf'*asdf'.'  % many adjoints
    A'*B + 1      % adjoint
    A.'*B + 1     % transpose
    A.'.'*B + 1   % double transpose
    A'.' + 1      % adjoint, then transpose
    A.''          % transpose, then adjoint

    % System command ______________________________________
    !hostname
    !cp * /tmp

    % Reserved keywords ___________________________________
    function, persistent, global
    endfunction

    switch, case, otherwise
    endswitch

    if, else, elseif
    endif

    try, end_try_catch
    for, while, break, continue
    endfor

    endwhile
    return
    function, FUNCTION, Function  % case sensitive!
    endfunction