Bram Moolenaar | 0b39c3f | 2020-08-30 15:52:10 +0200 | [diff] [blame] | 1 | " Invoked with the name "vim.pot" and a list of Vim script names. |
| 2 | " Converts them to a .js file, stripping comments, so that xgettext works. |
| 3 | " Javascript is used because, like Vim, it accepts both single and double |
| 4 | " quoted strings. |
| 5 | |
| 6 | set shortmess+=A |
| 7 | |
RestorerZ | 9650910 | 2024-07-11 21:14:15 +0200 | [diff] [blame] | 8 | let s:namenum = 0 |
| 9 | let s:fls = [] |
| 10 | for s:name in argv()[1:] |
| 11 | exe 'edit ' .. fnameescape(s:name) |
Bram Moolenaar | 0b39c3f | 2020-08-30 15:52:10 +0200 | [diff] [blame] | 12 | |
Bram Moolenaar | 65b3486 | 2023-05-10 14:47:50 +0100 | [diff] [blame] | 13 | " Strip comments, also after :set commands. |
Bram Moolenaar | 0b39c3f | 2020-08-30 15:52:10 +0200 | [diff] [blame] | 14 | g/^\s*"/s/.*// |
Bram Moolenaar | 65b3486 | 2023-05-10 14:47:50 +0100 | [diff] [blame] | 15 | g/^\s*set .*"/s/.*// |
Bram Moolenaar | 0b39c3f | 2020-08-30 15:52:10 +0200 | [diff] [blame] | 16 | |
| 17 | " Write as .js file, xgettext recognizes them |
RestorerZ | 9650910 | 2024-07-11 21:14:15 +0200 | [diff] [blame] | 18 | let s:fl = fnamemodify(s:name, ":t:r") .. s:namenum .. ".js" |
| 19 | exe 'w! ' .. s:fl |
| 20 | call add(s:fls, s:fl) |
| 21 | let s:namenum += 1 |
Bram Moolenaar | 0b39c3f | 2020-08-30 15:52:10 +0200 | [diff] [blame] | 22 | endfor |
RestorerZ | 9650910 | 2024-07-11 21:14:15 +0200 | [diff] [blame] | 23 | call writefile(s:fls, "vim_to_js") |
Bram Moolenaar | 0b39c3f | 2020-08-30 15:52:10 +0200 | [diff] [blame] | 24 | quit |