From 46ddc05e2e2b13d37dae4ea5074fa9e99582cfc5 Mon Sep 17 00:00:00 2001 From: Ganesh Viswanathan Date: Wed, 10 Apr 2019 22:28:28 -0500 Subject: [PATCH] Prefix stripping example --- nimterop/cimport.nim | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/nimterop/cimport.nim b/nimterop/cimport.nim index 1f0de30..1f82b6f 100644 --- a/nimterop/cimport.nim +++ b/nimterop/cimport.nim @@ -235,9 +235,19 @@ macro cPlugin*(body): untyped = cPlugin: import strutils + # Strip leading and trailing underscores proc onSymbol*(sym: var Symbol) {.exportc, dynlib.} = sym.name = sym.name.strip(chars={'_'}) + runnableExamples: + cPlugin: + import strutils + + # Strip prefix from procs + proc onSymbol*(sym: var Symbol) {.exportc, dynlib.} = + if sym.kind == nskProc and sym.name.contains("SDL_"): + sym.name = sym.name.replace("SDL_", "") + let data = "import nimterop/plugin\n\n" & body.repr hash = data.hash().abs()