1<?php 2/************************************************************************************* 3 * roff.php 4 * --------------------------------- 5 * Author: Artur Iwicki (iwicki DOT artur AT svgames DOT pl) 6 * Copyright: (c) 2017 Artur Iwicki 7 * Release Version: 1.0.9.1 8 * Date Started: 2017-11-17 9 * 10 * roff (Unix man page) language file for GeSHi. 11 * 12 * CHANGES 13 * ------- 14 * 2018-12-06 (1.0.1) 15 * - Fix reqex for line-start requests (must start with [.'], not [\.']) 16 * - Add some missing whitespace escapes 17 * 2017-11-20 (1.0.0) 18 * - First Release 19 * 20 ************************************************************************************* 21 * 22 * This file is part of GeSHi. 23 * 24 * GeSHi is free software; you can redistribute it and/or modify 25 * it under the terms of the GNU General Public License as published by 26 * the Free Software Foundation; either version 2 of the License, or 27 * (at your option) any later version. 28 * 29 * GeSHi is distributed in the hope that it will be useful, 30 * but WITHOUT ANY WARRANTY; without even the implied warranty of 31 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 32 * GNU General Public License for more details. 33 * 34 * You should have received a copy of the GNU General Public License 35 * along with GeSHi; if not, write to the Free Software 36 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 37 * 38 ************************************************************************************/ 39 40$language_data = array ( 41 'LANG_NAME' => 'roff', 42 'COMMENT_SINGLE' => array( 43 1 => '\\"', 44 2 => '\\#', 45 ), 46 'COMMENT_MULTI' => array(), 47 'COMMENT_REGEXP' => array( 48 1 => '/^\\.\\\\"[[:print:]]*/m' 49 ), 50 'QUOTEMARKS' => array(), 51 'ESCAPE_CHAR' => '', 52 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 53 'CASE_SENSITIVE' => array( 54 GESHI_COMMENTS => false, 55 ), 56 'KEYWORDS' => array( 57 ), 58 'SYMBOLS' => array( 59 0 => array( 60 '\\[-D]', '\\(-D', 61 '\\[Sd]', '\\(Sd', 62 '\\[TP]', '\\(TP', 63 '\\[Tp]', '\\(Tp', 64 '\\[ss]', '\\(ss', 65 '\\[ff]', '\\(ff', 66 '\\[fi]', '\\(fi', 67 '\\[fl]', '\\(fl', 68 '\\[Fi]', '\\(Fi', 69 '\\[Fl]', '\\(Fl', 70 '\\[/L]', '\\(/L', 71 '\\[/l]', '\\(/l', 72 '\\[/O]', '\\(/O', 73 '\\[/o]', '\\(/o', 74 '\\[AE]', '\\(AE', 75 '\\[ae]', '\\(ae', 76 '\\[OE]', '\\(OE', 77 '\\[oe]', '\\(oe', 78 '\\[IJ]', '\\(IJ', 79 '\\[ij]', '\\(ij', 80 '\\[.i]', '\\(.i', 81 '\\[.j]', '\\(.j', 82 '\\[\'A]', '\\(\'A', 83 '\\[\'C]', '\\(\'C', 84 '\\[\'E]', '\\(\'E', 85 '\\[\'I]', '\\(\'I', 86 '\\[\'O]', '\\(\'O', 87 '\\[\'U]', '\\(\'U', 88 '\\[\'Y]', '\\(\'Y', 89 '\\[\'a]', '\\(\'a', 90 '\\[\'c]', '\\(\'c', 91 '\\[\'e]', '\\(\'e', 92 '\\[\'i]', '\\(\'i', 93 '\\[\'o]', '\\(\'o', 94 '\\[\'u]', '\\(\'u', 95 '\\[\'y]', '\\(\'y', 96 '\\[:A]', '\\(:A', 97 '\\[:E]', '\\(:E', 98 '\\[:I]', '\\(:I', 99 '\\[:O]', '\\(:O', 100 '\\[:U]', '\\(:U', 101 '\\[:Y]', '\\(:Y', 102 '\\[:a]', '\\(:a', 103 '\\[:e]', '\\(:e', 104 '\\[:i]', '\\(:i', 105 '\\[:o]', '\\(:o', 106 '\\[:u]', '\\(:u', 107 '\\[:y]', '\\(:y', 108 '\\[^A]', '\\(^A', 109 '\\[^E]', '\\(^E', 110 '\\[^I]', '\\(^I', 111 '\\[^O]', '\\(^O', 112 '\\[^U]', '\\(^U', 113 '\\[^a]', '\\(^a', 114 '\\[^e]', '\\(^e', 115 '\\[^i]', '\\(^i', 116 '\\[^o]', '\\(^o', 117 '\\[^u]', '\\(^u', 118 '\\[`A]', '\\(`A', 119 '\\[`E]', '\\(`E', 120 '\\[`I]', '\\(`I', 121 '\\[`O]', '\\(`O', 122 '\\[`U]', '\\(`U', 123 '\\[`a]', '\\(`a', 124 '\\[`e]', '\\(`e', 125 '\\[`i]', '\\(`i', 126 '\\[`o]', '\\(`o', 127 '\\[`u]', '\\(`u', 128 '\\[~A]', '\\(~A', 129 '\\[~N]', '\\(~N', 130 '\\[~O]', '\\(~O', 131 '\\[~a]', '\\(~a', 132 '\\[~n]', '\\(~n', 133 '\\[~o]', '\\(~o', 134 '\\[vS]', '\\(vS', 135 '\\[vs]', '\\(vs', 136 '\\[vZ]', '\\(vZ', 137 '\\[vz]', '\\(vz', 138 '\\[,C]', '\\(,C', 139 '\\[,c]', '\\(,c', 140 '\\[oA]', '\\(oA', 141 '\\[oa]', '\\(oa', 142 '\\[a"]', '\\(a"', 143 '\\[a-]', '\\(a-', 144 '\\[a.]', '\\(a.', 145 '\\[a^]', '\\(a^', 146 '\\[aa]', '\\(aa', 147 '\\[ga]', '\\(ga', 148 '\\[ab]', '\\(ab', 149 '\\[ac]', '\\(ac', 150 '\\[ad]', '\\(ad', 151 '\\[ah]', '\\(ah', 152 '\\[ao]', '\\(ao', 153 '\\[a~]', '\\(a~', 154 '\\[ho]', '\\(ho', 155 '\\[ha]', '\\(ha', 156 '\\[ti]', '\\(ti', 157 '\\[Bq]', '\\(Bq', 158 '\\[bq]', '\\(bq', 159 '\\[lq]', '\\(lq', 160 '\\[rq]', '\\(rq', 161 '\\[oq]', '\\(oq', 162 '\\[cq]', '\\(cq', 163 '\\[aq]', '\\(aq', 164 '\\[dq]', '\\(dq', 165 '\\[Fo]', '\\(Fo', 166 '\\[Fc]', '\\(Fc', 167 '\\[fo]', '\\(fo', 168 '\\[fc]', '\\(fc', 169 '\\[r!]', '\\(r!', 170 '\\[r?]', '\\(r?', 171 '\\[em]', '\\(em', 172 '\\[en]', '\\(en', 173 '\\[hy]', '\\(hy', 174 '\\[lB]', '\\(lB', 175 '\\[rB]', '\\(rB', 176 '\\[lC]', '\\(lC', 177 '\\[rC]', '\\(rC', 178 '\\[la]', '\\(la', 179 '\\[ra]', '\\(ra', 180 '\\[bv]', '\\(bv', 181 '\\[braceex]', 182 '\\[bracketlefttp]', 183 '\\[bracketleftbt]', 184 '\\[bracketleftex]', 185 '\\[bracketrighttp]', 186 '\\[bracketrightbt]', 187 '\\[bracketrightex]', 188 '\\[lt]', '\\(lt', 189 '\\[bracelefttp]', 190 '\\[lk]', '\\(lk', 191 '\\[braceleftmid]', 192 '\\[lb]', '\\(lb', 193 '\\[braceleftbt]', 194 '\\[braceleftex]', 195 '\\[rt]', '\\(rt', 196 '\\[bracerighttp]', 197 '\\[rk]', '\\(rk', 198 '\\[bracerightmid]', 199 '\\[rb]', '\\(rb', 200 '\\[bracerightbt]', 201 '\\[bracerightex]', 202 '\\[parenlefttp]', 203 '\\[parenleftbt]', 204 '\\[parenleftex]', 205 '\\[parenrighttp]', 206 '\\[parenrightbt]', 207 '\\[parenrightex]', 208 '\\[<-]', '\\(<-', 209 '\\[->]', '\\(->', 210 '\\[<>]', '\\(<>', 211 '\\[da]', '\\(da', 212 '\\[ua]', '\\(ua', 213 '\\[va]', '\\(va', 214 '\\[lA]', '\\(lA', 215 '\\[rA]', '\\(rA', 216 '\\[hA]', '\\(hA', 217 '\\[dA]', '\\(dA', 218 '\\[uA]', '\\(uA', 219 '\\[vA]', '\\(vA', 220 '\\[an]', '\\(an', 221 '\\[ba]', '\\(ba', 222 '\\[br]', '\\(br', 223 '\\[ul]', '\\(ul', 224 '\\[rn]', '\\(rn', 225 '\\[ru]', '\\(ru', 226 '\\[bb]', '\\(bb', 227 '\\[sl]', '\\(sl', 228 '\\[rs]', '\\(rs', 229 '\\[ci]', '\\(ci', 230 '\\[bu]', '\\(bu', 231 '\\[dd]', '\\(dd', 232 '\\[dg]', '\\(dg', 233 '\\[lz]', '\\(lz', 234 '\\[sq]', '\\(sq', 235 '\\[ps]', '\\(ps', 236 '\\[sc]', '\\(sc', 237 '\\[lh]', '\\(lh', 238 '\\[rh]', '\\(rh', 239 '\\[at]', '\\(at', 240 '\\[sh]', '\\(sh', 241 '\\[CR]', '\\(CR', 242 '\\[OK]', '\\(OK', 243 '\\[co]', '\\(co', 244 '\\[rg]', '\\(rg', 245 '\\[tm]', '\\(tm', 246 '\\[bs]', '\\(bs', 247 '\\[Do]', '\\(Do', 248 '\\[ct]', '\\(ct', 249 '\\[eu]', '\\(eu', 250 '\\[Eu]', '\\(Eu', 251 '\\[Ye]', '\\(Ye', 252 '\\[Po]', '\\(Po', 253 '\\[Cs]', '\\(Cs', 254 '\\[Fn]', '\\(Fn', 255 '\\[de]', '\\(de', 256 '\\[%0]', '\\(%0', 257 '\\[fm]', '\\(fm', 258 '\\[sd]', '\\(sd', 259 '\\[mc]', '\\(mc', 260 '\\[Of]', '\\(Of', 261 '\\[Om]', '\\(Om', 262 '\\[AN]', '\\(AN', 263 '\\[OR]', '\\(OR', 264 '\\[no]', '\\(no', 265 '\\[tno]', 266 '\\[te]', '\\(te', 267 '\\[fa]', '\\(fa', 268 '\\[st]', '\\(st', 269 '\\[3d]', '\\(3d', 270 '\\[tf]', '\\(tf', 271 '\\[or]', '\\(or', 272 '\\[12]', '\\(12', 273 '\\[14]', '\\(14', 274 '\\[34]', '\\(34', 275 '\\[18]', '\\(18', 276 '\\[38]', '\\(38', 277 '\\[58]', '\\(58', 278 '\\[78]', '\\(78', 279 '\\[S1]', '\\(S1', 280 '\\[S2]', '\\(S2', 281 '\\[S3]', '\\(S3', 282 '\\[pl]', '\\(pl', 283 '\\[mi]', '\\(mi', 284 '\\[-+]', '\\(-+', 285 '\\[+-]', '\\(+-', 286 '\\[t+-]', 287 '\\[pc]', '\\(pc', 288 '\\[md]', '\\(md', 289 '\\[mu]', '\\(mu', 290 '\\[tmu]', 291 '\\[c*]', '\\(c*', 292 '\\[c+]', '\\(c+', 293 '\\[di]', '\\(di', 294 '\\[tdi]', 295 '\\[f/]', '\\(f/', 296 '\\[**]', '\\(**', 297 '\\[<=]', '\\(<=', 298 '\\[>=]', '\\(>=', 299 '\\[<<]', '\\(<<', 300 '\\[>>]', '\\(>>', 301 '\\[eq]', '\\(eq', 302 '\\[!=]', '\\(!=', 303 '\\[==]', '\\(==', 304 '\\[ne]', '\\(ne', 305 '\\[=~]', '\\(=~', 306 '\\[|=]', '\\(|=', 307 '\\[ap]', '\\(ap', 308 '\\[~~]', '\\(~~', 309 '\\[~=]', '\\(~=', 310 '\\[pt]', '\\(pt', 311 '\\[es]', '\\(es', 312 '\\[mo]', '\\(mo', 313 '\\[nm]', '\\(nm', 314 '\\[sb]', '\\(sb', 315 '\\[nb]', '\\(nb', 316 '\\[sp]', '\\(sp', 317 '\\[nc]', '\\(nc', 318 '\\[ib]', '\\(ib', 319 '\\[ip]', '\\(ip', 320 '\\[ca]', '\\(ca', 321 '\\[cu]', '\\(cu', 322 '\\[/_]', '\\(/_', 323 '\\[pp]', '\\(pp', 324 '\\[is]', '\\(is', 325 '\\[integral]', 326 '\\[sum]', 327 '\\[product]', 328 '\\[coproduct]', 329 '\\[gr]', '\\(gr', 330 '\\[sr]', '\\(sr', 331 '\\[sqrt]', 332 '\\[radicalex]', 333 '\\[sqrtex]', 334 '\\[lc]', '\\(lc', 335 '\\[rc]', '\\(rc', 336 '\\[lf]', '\\(lf', 337 '\\[rf]', '\\(rf', 338 '\\[if]', '\\(if', 339 '\\[Ah]', '\\(Ah', 340 '\\[Im]', '\\(Im', 341 '\\[Re]', '\\(Re', 342 '\\[wp]', '\\(wp', 343 '\\[pd]', '\\(pd', 344 '\\[-h]', '\\(-h', 345 '\\[hbar]', 346 '\\[*A]', '\\(*A', 347 '\\[*B]', '\\(*B', 348 '\\[*G]', '\\(*G', 349 '\\[*D]', '\\(*D', 350 '\\[*E]', '\\(*E', 351 '\\[*Z]', '\\(*Z', 352 '\\[*Y]', '\\(*Y', 353 '\\[*H]', '\\(*H', 354 '\\[*I]', '\\(*I', 355 '\\[*K]', '\\(*K', 356 '\\[*L]', '\\(*L', 357 '\\[*M]', '\\(*M', 358 '\\[*N]', '\\(*N', 359 '\\[*C]', '\\(*C', 360 '\\[*O]', '\\(*O', 361 '\\[*P]', '\\(*P', 362 '\\[*R]', '\\(*R', 363 '\\[*S]', '\\(*S', 364 '\\[*T]', '\\(*T', 365 '\\[*U]', '\\(*U', 366 '\\[*F]', '\\(*F', 367 '\\[*X]', '\\(*X', 368 '\\[*Q]', '\\(*Q', 369 '\\[*W]', '\\(*W', 370 '\\[*a]', '\\(*a', 371 '\\[*b]', '\\(*b', 372 '\\[*g]', '\\(*g', 373 '\\[*d]', '\\(*d', 374 '\\[*e]', '\\(*e', 375 '\\[*z]', '\\(*z', 376 '\\[*y]', '\\(*y', 377 '\\[*h]', '\\(*h', 378 '\\[*i]', '\\(*i', 379 '\\[*k]', '\\(*k', 380 '\\[*l]', '\\(*l', 381 '\\[*m]', '\\(*m', 382 '\\[*n]', '\\(*n', 383 '\\[*c]', '\\(*c', 384 '\\[*o]', '\\(*o', 385 '\\[*p]', '\\(*p', 386 '\\[*r]', '\\(*r', 387 '\\[ts]', '\\(ts', 388 '\\[*s]', '\\(*s', 389 '\\[*t]', '\\(*t', 390 '\\[*u]', '\\(*u', 391 '\\[*f]', '\\(*f', 392 '\\[*x]', '\\(*x', 393 '\\[*q]', '\\(*q', 394 '\\[*w]', '\\(*w', 395 '\\[+h]', '\\(+h', 396 '\\[+f]', '\\(+f', 397 '\\[+p]', '\\(+p', 398 '\\[+e]', '\\(+e', 399 '\\[CL]', '\\(CL', 400 '\\[SP]', '\\(SP', 401 '\\[HE]', '\\(HE', 402 '\\[DI]', '\\(DI', 403 ), 404 1 => array( 405 // Special characters 406 '\\\\', '\\´', '\\`', '\\-', 407 '\\_', '\\.', '\\%', '\\!', 408 '\\0', '\\|', '\\^', '\\&', 409 '\\)', '\\/', '\\,', '\\~', 410 '\\:', '\\{', '\\}', '\\a', 411 '\\c', '\\d', '\\e', '\\E', 412 '\\p', '\\r', '\\t', '\\u', 413 414 // Whitespace escapes 415 '\\ ', '\\h', "\\\n", 416 417 // Text modifiers 418 '\\fB', '\\fI', '\\fR', '\\fP', 419 '\\f0', '\\f1', '\\f2', '\\f3', '\\f4', '\\f5', '\\f6', '\\f7', '\\f8', '\\f9', 420 ), 421 ), 422 'STYLES' => array( 423 'KEYWORDS' => array( 424 ), 425 'COMMENTS' => array( 426 1 => 'color: #ffff55;', 427 2 => 'color: #ffff55;', 428 ), 429 'ESCAPE_CHAR' => array( 430 ), 431 'BRACKETS' => array( 432 ), 433 'STRINGS' => array( 434 ), 435 'NUMBERS' => array( 436 ), 437 'METHODS' => array( 438 ), 439 'SYMBOLS' => array( 440 0 => 'color: #00aaaa', 441 1 => 'color: #aa00aa', 442 ), 443 'REGEXPS' => array( 444 0 => 'color: #ffff55;', 445 1 => 'font-weight: bold;', 446 2 => 'font-style: italic;', 447 3 => 'font-weight: bold;', 448 4 => 'font-style: italic;', 449 5 => 'color: #55aaff;', 450 ), 451 'SCRIPT' => array( 452 ) 453 ), 454 'REGEXPS' => array( 455 0 => array( 456 // Unicode characters 457 GESHI_SEARCH => '\\\\\\[u([[:xdigit:]]{4,5})\\]', 458 GESHI_REPLACE => '\\\\[\\1]', 459 GESHI_MODIFIERS => '', 460 GESHI_BEFORE => '', 461 GESHI_AFTER => '', 462 ), 463 1 => array( 464 // Bold text - formatted using .B or 'B 465 GESHI_SEARCH => "^([\\.']{1}B[[:blank:]]*\\n{0,1})([[:print:]]+)", 466 GESHI_REPLACE => '\\2', 467 GESHI_MODIFIERS => 'm', 468 GESHI_BEFORE => '\\1', 469 GESHI_AFTER => '', 470 ), 471 2 => array( 472 // Italic text - formatted using .I or 'I 473 GESHI_SEARCH => "^([\\.']{1}I[[:blank:]]*\\n{0,1})([[:print:]]+)", 474 GESHI_REPLACE => '\\2', 475 GESHI_MODIFIERS => 'm', 476 GESHI_BEFORE => '\\1', 477 GESHI_AFTER => '', 478 ), 479 3 => array( 480 // Bold text - formatted inline 481 GESHI_SEARCH => '(\\\\fB)([[:print:]]+?)(\\\\fR)', 482 GESHI_REPLACE => '\\2', 483 GESHI_MODIFIERS => '', 484 GESHI_BEFORE => '\\1', 485 GESHI_AFTER => '\\3', 486 ), 487 4 => array ( 488 // Italic text - formatted inline 489 GESHI_SEARCH => '(\\\\fI)([[:print:]]+?)(\\\\fR)', 490 GESHI_REPLACE => '\\2', 491 GESHI_MODIFIERS => '', 492 GESHI_BEFORE => '\\1', 493 GESHI_AFTER => '\\3', 494 ), 495 5 => array( 496 // Line start macros (.TP, .SH, et cetera) 497 GESHI_SEARCH => "^([.']{1}[a-zA-Z]+)", 498 GESHI_REPLACE => '\\1', 499 GESHI_MODIFIERS => 'm', 500 GESHI_BEFORE => '', 501 GESHI_AFTER => '', 502 ), 503 ), 504 'URLS' => array(), 505 'OOLANG' => false, 506 'OBJECT_SPLITTERS' => array(), 507 'HIGHLIGHT_STRICT_BLOCK' => array(), 508 'STRICT_MODE_APPLIES' => GESHI_NEVER, 509 'SCRIPT_DELIMITERS' => array(), 510); 511