Hi everyone,

example for what I want: editing a file that starts with

  ...
  (import scheme chicken)
  (use (prefix ports p:))

and then typing somewhere (pipe is my caret)

  (p:po|

hitting <Ctrl-Space> - a list pops up - content:

  p:port-fold
  p:port-for-each
  p:port-map

If someone knows of an existing solution - please stop reading -
otherwise please have a look at my implementation and tell me if that
idea is completely insane - and if so - how I could accomplish the same
task easier.

What I am doing is basically: 
  - parse the current file for occurences of "use", "import" or
    "require-extension" 
  - synthesize a command that looks something like this:

      "csi -setup-mode -eval 
         \"(import ...)(use ...)(print (sort ... (foldl ...
         (##sys#current-environment) ...\""

  - process the result

The problem with this imlementation is: the symbols of "used" modules
are missing.

If I replace the "use ..." with "import ..." then the symbols become
visible (that baffled me a little bit after reading
http://stackoverflow.com/questions/38924452/use-vs-import-vs-require-vs-require-extension-in-chicken-scheme).

Changing the use- (and I guess require-extension-) clauses seems a
little bit contrived in my eyes - so I thought before I change my
"parser" I ask some chicken experts...


_______________________________________________
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to