diff --git a/extra/readline-listener/readline-listener.factor b/extra/readline-listener/readline-listener.factor index cd7e0070a7..072f80e1d4 100644 --- a/extra/readline-listener/readline-listener.factor +++ b/extra/readline-listener/readline-listener.factor @@ -39,7 +39,7 @@ M: readline-reader prompt. : get-completions ( prefix -- completions ) completions tget [ nip ] [ - current-line " \r\n" split { + completion-line " \r\n" split { { [ dup complete-vocab? ] [ drop prefixed-vocabs ] } { [ dup complete-CHAR:? ] [ drop prefixed-chars ] } { [ dup complete-COLOR:? ] [ drop prefixed-colors ] } diff --git a/extra/readline/readline.factor b/extra/readline/readline.factor index 76aea30d7e..b86ebf7f80 100644 --- a/extra/readline/readline.factor +++ b/extra/readline/readline.factor @@ -18,6 +18,9 @@ IN: readline : current-line ( -- str ) readline.ffi:rl_line_buffer ; +: completion-line ( -- str ) + current-line readline.ffi:rl_point head ; + : has-readline? ( -- ? ) "readline" dup load-library dlsym-raw >boolean ;