File: highlight.lua

package info (click to toggle)
elinks 0.19.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 24,424 kB
  • sloc: ansic: 174,653; cpp: 31,967; sh: 7,841; python: 4,039; perl: 2,183; javascript: 1,794; pascal: 1,710; makefile: 1,006; yacc: 295; lisp: 125; awk: 79; ruby: 70
file content (26 lines) | stat: -rw-r--r-- 637 bytes parent folder | download | duplicates (11)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
-- Source-code highlighting hook

highlight_file_types = {
    patch = "%.patch$",
    python = "%.py$",
    perl = "%.pl$",
    awk = "%.awk$",
    c = "%.[ch]$",
    sh = "%.sh$",
}

function highlight (url, html)
    for language,pattern in pairs(highlight_file_types) do
        if string.find (url, pattern) then
            local tmp = tmpname ()
            writeto (tmp) write (html) writeto()
            html = pipe_read ("(code2html -l "..language.." "..tmp.." - ) 2>/dev/null")
            os.remove(tmp)
            return html,nil
        end
    end

    return nil,nil
end

table.insert(pre_format_html_hooks, highlight)