diff options
author | niksaz <nikitasazanovich@gmail.com> | 2016-05-01 13:34:45 +0200 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2016-05-01 23:29:49 +0200 |
commit | 533037cc58a7c50e1c014e27e8b971d53e7b47bd (patch) | |
tree | 6bdc053c60cc3b8d2254a0cc14569c2207c317f8 /testsuite/tests/ghci/scripts/ghci061.script | |
parent | 18676a4a0dfe79e2704e48be5c8716a656825efe (diff) | |
download | haskell-533037cc58a7c50e1c014e27e8b971d53e7b47bd.tar.gz |
Greater customization of GHCi prompt
This patch is trying to redesign the :set prompt option to take not a
String but a Haskell function, like [String] -> Int -> IO String, where
[String] is the list of the names of the currently loaded modules and
Int is the line number. Currently you may set prompt function with
**:set promt-function [String] -> Int -> IO String** option and old
version is also available - :set prompt String.
So, it looks like I've almost completed this patch:
1) Now we have a lot of escape sequences - 13 to be exact. Most of them
are similar to bash prompt escape sequences. Thus they are quite handy.
2) We may use the special escape sequence to call shell functions, for
example "%call(ls -l -a)".
3) We may use :set prompt-function to set PFunction to handle prompt.
It is just [String] -> Int -> IO String.
Reviewers: erikd, austin, mpickering, bgamari
Reviewed By: mpickering, bgamari
Subscribers: mpickering, thomie
Differential Revision: https://phabricator.haskell.org/D2084
GHC Trac Issues: #5850
Diffstat (limited to 'testsuite/tests/ghci/scripts/ghci061.script')
-rw-r--r-- | testsuite/tests/ghci/scripts/ghci061.script | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/testsuite/tests/ghci/scripts/ghci061.script b/testsuite/tests/ghci/scripts/ghci061.script new file mode 100644 index 0000000000..2d96b16ba4 --- /dev/null +++ b/testsuite/tests/ghci/scripts/ghci061.script @@ -0,0 +1,5 @@ +:l ghci061.hs +:set prompt-function two_args +:set prompt-function three_args +:set prompt-cont-function two_args +:set prompt-cont-function three_args |