blob: 24fcc9472a78dafbc9b949df60a4c581b5346baf [file] [log] [blame]
Bram Moolenaara6c27c42019-05-09 19:16:22 +02001" Vim filetype plugin
2" Language: roff(7)
Bram Moolenaar23515b42020-11-29 14:36:24 +01003" Maintainer: Aman Verma
4" Homepage: https://github.com/a-vrma/vim-nroff-ftplugin
Wu, Zhenyu8f3277f2025-02-12 20:58:57 +01005" Document: https://www.gnu.org/software/groff/manual/groff.html
Riley Bruins0a083062024-06-03 20:40:45 +02006" Previous Maintainer: Chris Spiegel <cspiegel@gmail.com>
Wu, Zhenyu8f3277f2025-02-12 20:58:57 +01007" Last Changes:
8" 2024 May 24 by Riley Bruins <ribru17@gmail.com> ('commentstring' #14843)
9" 2025 Feb 12 by Wu, Zhenyu <wuzhenyu@ustc.edu> (matchit configuration #16619)
Eisuke Kawashimafbbaa6e2025-04-16 18:20:59 +020010" 2025 Apr 16 by Eisuke Kawashima (cpoptions #17121)
Eisuke Kawashimae36a9312025-04-24 22:26:02 +020011" 2025 Apr 24 by Eisuke Kawashima (move options from syntax to ftplugin #17174)
jtmr05e4c157b2025-06-18 18:41:14 +020012" 2025 Jun 18 by Vim Project: update commentstring option (#17516)
Bram Moolenaara6c27c42019-05-09 19:16:22 +020013
14if exists("b:did_ftplugin")
15 finish
16endif
17let b:did_ftplugin = 1
18
Eisuke Kawashimafbbaa6e2025-04-16 18:20:59 +020019let s:cpo_save = &cpo
20set cpo&vim
21
Riley Bruins0a083062024-06-03 20:40:45 +020022setlocal commentstring=.\\\"\ %s
jtmr05e4c157b2025-06-18 18:41:14 +020023setlocal comments=:.\\\",:\\\",:'\\\",:'''
Bram Moolenaar23515b42020-11-29 14:36:24 +010024setlocal sections+=Sh
Wu, Zhenyu8f3277f2025-02-12 20:58:57 +010025setlocal define=.\s*de
Bram Moolenaar23515b42020-11-29 14:36:24 +010026
Eisuke Kawashimae36a9312025-04-24 22:26:02 +020027if get(b:, 'preprocs_as_sections')
28 setlocal sections=EQTSPS[\ G1GS
29endif
30
31let b:undo_ftplugin = 'setlocal commentstring< comments< sections& define<'
32
33if get(b:, 'nroff_is_groff')
34 " groff_ms exdented paragraphs are not in the default paragraphs list.
35 setlocal paragraphs+=XP
36 let b:undo_ftplugin .= ' paragraphs&'
37endif
Wu, Zhenyu8f3277f2025-02-12 20:58:57 +010038
39if exists('loaded_matchit')
40 let b:match_words = '^\.\s*ie\>:^\.\s*el\>'
41 \ . ',^\.\s*LB\>:^\.\s*LI\>:^\.\s*LE\>'
42 \ . ',^\.\s*TS\>:^\.\s*TE\>'
43 \ . ',^\.\s*PS\>:^\.\s*P[EF]\>'
44 \ . ',^\.\s*EQ\>:^\.\s*EN\>'
45 \ . ',^\.\s*[\>:^\.\s*]\>'
46 \ . ',^\.\s*FS\>:^\.\s*FE\>'
47 let b:undo_ftplugin .= "| unlet b:match_words"
48endif
Eisuke Kawashimafbbaa6e2025-04-16 18:20:59 +020049
50let &cpo = s:cpo_save
51unlet s:cpo_save