aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar ridiculousfish <corydoras@ridiculousfish.com>2014-01-24 17:51:28 -0800
committerGravatar ridiculousfish <corydoras@ridiculousfish.com>2014-01-24 18:10:42 -0800
commit0fbddb0df1495e1cb275fa5ab15ba7f0ab3cc9fa (patch)
treeb77b8331bdfd7f7a89a9c1ea55c4de7d9b240525
parent4c5c1fc9ef22fff4e03db4632b4692b0f7e77966 (diff)
Add fish_new_pager variable to enable new pager on request, disabled by default.
-rw-r--r--parser.cpp13
-rw-r--r--parser.h1
-rw-r--r--reader.cpp5
3 files changed, 17 insertions, 2 deletions
diff --git a/parser.cpp b/parser.cpp
index 9bb1e649..4badfff8 100644
--- a/parser.cpp
+++ b/parser.cpp
@@ -3122,3 +3122,16 @@ bool parser_use_ast(void)
return from_string<bool>(var);
}
}
+
+bool pager_use_inline(void)
+{
+ env_var_t var = env_get_string(L"fish_new_pager");
+ if (var.missing_or_empty())
+ {
+ return 0;
+ }
+ else
+ {
+ return from_string<bool>(var);
+ }
+}
diff --git a/parser.h b/parser.h
index 32add3fb..6e43c8da 100644
--- a/parser.h
+++ b/parser.h
@@ -547,6 +547,7 @@ public:
/* Temporary */
bool parser_use_ast(void);
+bool pager_use_inline(void);
#endif
diff --git a/reader.cpp b/reader.cpp
index 1c313a63..2bba5f97 100644
--- a/reader.cpp
+++ b/reader.cpp
@@ -1876,8 +1876,9 @@ static bool handle_completions(const std::vector<completion_t> &comp)
parse_util_get_parameter_info(data->command_line, data->buff_pos, &quote, NULL, NULL);
bool is_quoted = (quote != L'\0');
- if (1)
+ if (pager_use_inline())
{
+ /* Inline pager */
data->pager.set_prefix(prefix);
data->pager.set_completions(surviving_completions);
@@ -1886,7 +1887,7 @@ static bool handle_completions(const std::vector<completion_t> &comp)
}
else
{
- /* Clear the autosuggestion from the old commandline before abandoning it (see #561) */
+ /* Classic pager. Clear the autosuggestion from the old commandline before abandoning it (see #561) */
if (! data->autosuggestion.empty())
reader_repaint_without_autosuggestion();