run init-executables-completion-set! in a seperate thread
This commit is contained in:
parent
2723409aed
commit
eeaaa729ac
|
@ -7,6 +7,12 @@
|
||||||
(begin ?do-this ... (values))
|
(begin ?do-this ... (values))
|
||||||
(values)))))
|
(values)))))
|
||||||
|
|
||||||
|
(define (with-lock lock thunk)
|
||||||
|
(obtain-lock lock)
|
||||||
|
(let ((val (thunk)))
|
||||||
|
(release-lock lock)
|
||||||
|
val))
|
||||||
|
|
||||||
;;This is the "heart" of NUIT.
|
;;This is the "heart" of NUIT.
|
||||||
;;In a central loop the program waits for input (with wgetch).
|
;;In a central loop the program waits for input (with wgetch).
|
||||||
;;In the upper buffer simply the functionalities of scsh-ncurses:
|
;;In the upper buffer simply the functionalities of scsh-ncurses:
|
||||||
|
@ -42,6 +48,7 @@
|
||||||
(define result-window #f)
|
(define result-window #f)
|
||||||
(define result-frame-window #f)
|
(define result-frame-window #f)
|
||||||
|
|
||||||
|
(define executable-completions-lock (make-lock))
|
||||||
(define executable-completions #f)
|
(define executable-completions #f)
|
||||||
|
|
||||||
(define key-control-x 24)
|
(define key-control-x 24)
|
||||||
|
@ -475,8 +482,12 @@
|
||||||
'("/usr/bin" "/bin" "/usr/sbin" "/sbin"))))
|
'("/usr/bin" "/bin" "/usr/sbin" "/sbin"))))
|
||||||
|
|
||||||
(define (init-executables-completion-set!)
|
(define (init-executables-completion-set!)
|
||||||
|
(spawn
|
||||||
|
(lambda ()
|
||||||
|
(with-lock executable-completions-lock
|
||||||
|
(lambda()
|
||||||
(set! executable-completions
|
(set! executable-completions
|
||||||
(make-completion-set-for-executables (get-path-list))))
|
(make-completion-set-for-executables (get-path-list))))))))
|
||||||
|
|
||||||
(define (paint-bar-1)
|
(define (paint-bar-1)
|
||||||
(mvwaddstr (app-window-curses-win bar-1) 0 1 "SCSH-NUIT")
|
(mvwaddstr (app-window-curses-win bar-1) 0 1 "SCSH-NUIT")
|
||||||
|
@ -828,7 +839,9 @@
|
||||||
(else
|
(else
|
||||||
(append
|
(append
|
||||||
(completions-for (command-completions) prefix)
|
(completions-for (command-completions) prefix)
|
||||||
(completions-for-executables executable-completions prefix)))))
|
(with-lock executable-completions-lock
|
||||||
|
(lambda ()
|
||||||
|
(completions-for-executables executable-completions prefix)))))))
|
||||||
|
|
||||||
(define (assemble-line-with-completion command arg arg-pos completion)
|
(define (assemble-line-with-completion command arg arg-pos completion)
|
||||||
(debug-message "assemble-line-with-completion "
|
(debug-message "assemble-line-with-completion "
|
||||||
|
|
Loading…
Reference in New Issue