HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //usr/share/jed/lib/nroff.sl
% nroff.sl -*- SLang -*-
%
% Primitive nroff editing mode -- just enough to define paragraphs
% to prevent <period>CMD from wrapping
%

define nroff_parsep ()
{
   bol ();
   (looking_at_char('.') or looking_at_char('\\') or (skip_white(), eolp()));
}

$1 = "nroff";
create_syntax_table ($1);

define_syntax ("'\\\"", "", '%', $1);	% Comment Syntax
define_syntax ('.', '\\', $1);		% Quote character
define_syntax ("({[", ")]}", '(', $1);	% are all these needed?
define_syntax ("{}[]<>()", ',', $1);	% delimiters
define_syntax (".a-zA-Z", 'w', $1);

% A few standard keywords -- uppercase only, nothing fancy
() = define_keywords ($1, ".B.I", 2);
() = define_keywords ($1, ".BR.DT.IP.PP.RB.RI.RE.RS.SB.SH.TH.TP.fi.nf", 3);

%!%+
%\function{nroff_mode}
%\synopsis{nroff_mode}
%\description
% Protoytype: Void nroff_mode ();
% A primitive mode for editing nroff/troff files.
% mostly to define the paragraph separator
%!%-
define nroff_mode ()
{
   variable nroff = "nroff";
   set_mode (nroff, 1);
   use_syntax_table (nroff);
   set_buffer_hook ("par_sep", "nroff_parsep");
   run_mode_hooks ("nroff_mode_hook");
}