about summary refs log blame commit diff stats
path: root/src/bindings/termcap.nim
blob: 5a98ccc074fc666793d182cf50aeb3fd5c753833 (plain) (tree)
1
2
3
4
5
6
7
8
9




                                                                             



                                                                     







                                                                      













                                                                                 
import os
const termlib = (proc(): string =
  const libs = [
    "terminfo", "mytinfo", "termlib", "termcap", "tinfo", "ncurses", "curses"
  ]
  for lib in libs:
    let res = staticExec("pkg-config --libs --silence-errors " & lib)
    if res != "":
      return res
  # Apparently on some systems pkg-config will fail to locate ncurses.
  const dirs = [
    "/lib", "/usr/lib", "/usr/local/lib"
  ]
  for lib in libs:
    for dir in dirs:
      if fileExists(dir & "/lib" & lib & ".a"):
        return "-l" & lib
)()
when termlib != "":
  {.passl: termlib.}
  {.push importc, cdecl.}
  const termcap_found* = true
  proc tgetent*(bp: cstring, name: cstring): cint
  proc tgetnum*(id: cstring): cint
  proc tgetflag*(id: cstring): cint
  proc tgetstr*(id: cstring, area: ptr cstring): cstring
  proc tgoto*(cap: cstring, x, y: cint): cstring
  proc tputs*(str: cstring, len: cint, putc: proc(c: char): cint {.cdecl.}): cint
  {.pop.}
else:
  const termcap_found* = false