mirror of
https://github.com/fish-shell/fish-shell
synced 2024-12-26 12:53:13 +00:00
Make prompt selection more like color selection in fish_config. Remove
the "show prompt source" button.
This commit is contained in:
parent
6d18bf5cd4
commit
aad5163b49
4 changed files with 50 additions and 23 deletions
|
@ -349,22 +349,23 @@ body {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.color_scheme_choice_label {
|
.color_scheme_choice_label, .prompt_demo_choice_label {
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
margin-bottom: 3px;
|
margin-bottom: 3px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
font-size: 12pt;
|
font-size: 12pt;
|
||||||
white-space: normal;
|
white-space: normal;
|
||||||
|
color: #AAA;
|
||||||
}
|
}
|
||||||
|
|
||||||
.color_scheme_choices_scrollview {
|
.color_scheme_choices_scrollview, .prompt_choices_scrollview {
|
||||||
border-top: 1px solid #333;
|
border-top: 1px solid #333;
|
||||||
padding-top: 5px;
|
padding-top: 5px;
|
||||||
overflow: scroll;
|
overflow: scroll;
|
||||||
max-height: 18em; /* about two and a half boxes */
|
max-height: 30em; /* about two and a half boxes */
|
||||||
}
|
}
|
||||||
|
|
||||||
.color_scheme_choices_list {
|
.color_scheme_choices_list, .prompt_choices_list {
|
||||||
overflow-y: hidden; /* makes our height account for floats */
|
overflow-y: hidden; /* makes our height account for floats */
|
||||||
padding: 0 10px 15px 10px; /* top right bottom left */
|
padding: 0 10px 15px 10px; /* top right bottom left */
|
||||||
bottom: 0px;
|
bottom: 0px;
|
||||||
|
@ -418,17 +419,26 @@ img.delete_icon {
|
||||||
color: #C8C8C8;
|
color: #C8C8C8;
|
||||||
}
|
}
|
||||||
|
|
||||||
.prompt_demo {
|
.prompt_demo, .current_prompt {
|
||||||
font-size: 12pt;
|
font-size: 12pt;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
margin: 5px 20px 25px; /* top right bottom left */
|
margin: 5px 5px 25px 5px; /* top right bottom left */
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
line-height: 1.8em;
|
line-height: 1.8em;
|
||||||
border: solid #777 1px;
|
border: solid #333 1px;
|
||||||
position: relative; /* so that our absolutely positioned elements work */
|
position: relative; /* so that our absolutely positioned elements work */
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
|
|
||||||
.save_button, .prompt_save_button, .colors_close_button, .customize_theme_button {
|
.unbordered {
|
||||||
|
border: none;
|
||||||
|
padding-top: 0;
|
||||||
|
padding-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.save_button, .prompt_save_button, .colors_close_button, .customize_theme_button, .generic_button {
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
border: solid rgba(71,71,71,0.5) 1px;
|
border: solid rgba(71,71,71,0.5) 1px;
|
||||||
padding: 5px 8px;
|
padding: 5px 8px;
|
||||||
|
@ -440,7 +450,7 @@ img.delete_icon {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.save_button:hover, .customize_theme_button:hover {
|
.save_button:hover, .customize_theme_button:hover, .generic_button:hover {
|
||||||
border-color: rgba(71,71,71,0.9);
|
border-color: rgba(71,71,71,0.9);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -456,12 +466,6 @@ img.delete_icon {
|
||||||
font-size: 12pt;
|
font-size: 12pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
.prompt_demo_choice_label {
|
|
||||||
margin: 25px 20px 5px;
|
|
||||||
font-size: 12pt;
|
|
||||||
white-space: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prompt_demo_text {
|
.prompt_demo_text {
|
||||||
white-space: pre;
|
white-space: pre;
|
||||||
line-height: 170%;
|
line-height: 170%;
|
||||||
|
|
|
@ -120,6 +120,8 @@ controllers.controller("colorsController", function($scope, $http) {
|
||||||
|
|
||||||
controllers.controller("promptController", function($scope, $http) {
|
controllers.controller("promptController", function($scope, $http) {
|
||||||
$scope.selectedPrompt = null;
|
$scope.selectedPrompt = null;
|
||||||
|
$scope.showSaveButton = true;
|
||||||
|
$scope.savePromptButtonTitle = "Set Prompt";
|
||||||
|
|
||||||
$scope.fetchSamplePrompts= function() {
|
$scope.fetchSamplePrompts= function() {
|
||||||
$http.get("/sample_prompts/").success(function(data, status, headers, config) {
|
$http.get("/sample_prompts/").success(function(data, status, headers, config) {
|
||||||
|
@ -131,8 +133,10 @@ controllers.controller("promptController", function($scope, $http) {
|
||||||
}
|
}
|
||||||
})};
|
})};
|
||||||
|
|
||||||
$scope.selectPrompt = function(promptt) {
|
$scope.selectPrompt = function(prompt) {
|
||||||
$scope.selectedPrompt= promptt;
|
$scope.selectedPrompt= prompt;
|
||||||
|
|
||||||
|
$scope.savePromptButtonTitle = "Set Prompt";
|
||||||
}
|
}
|
||||||
|
|
||||||
$scope.setNewPrompt = function(selectedPrompt) {
|
$scope.setNewPrompt = function(selectedPrompt) {
|
||||||
|
@ -143,9 +147,18 @@ controllers.controller("promptController", function($scope, $http) {
|
||||||
$scope.samplePrompts[0].function = selectedPrompt.function;
|
$scope.samplePrompts[0].function = selectedPrompt.function;
|
||||||
$scope.samplePrompts[0].font_size = selectedPrompt.font_size;
|
$scope.samplePrompts[0].font_size = selectedPrompt.font_size;
|
||||||
$scope.selectedPrompt = $scope.samplePrompts[0];
|
$scope.selectedPrompt = $scope.samplePrompts[0];
|
||||||
|
|
||||||
|
// Note that we set it
|
||||||
|
$scope.savePromptButtonTitle = "Prompt Set!";
|
||||||
})};
|
})};
|
||||||
|
|
||||||
$scope.fetchSamplePrompts();
|
$scope.fetchSamplePrompts();
|
||||||
|
|
||||||
|
$scope.setPrompt = function() {
|
||||||
|
if ($scope.selectedPrompt) {
|
||||||
|
$scope.setNewPrompt($scope.selectedPrompt);
|
||||||
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
controllers.controller("functionsController", function($scope, $http) {
|
controllers.controller("functionsController", function($scope, $http) {
|
||||||
|
|
|
@ -124,7 +124,7 @@ fish cannot change the background color of your terminal. Refer to your terminal
|
||||||
<div class="color_scheme_choice_container" data-ng-repeat="colorScheme in colorSchemes" ng-click="changeSelectedColorScheme(colorScheme)">
|
<div class="color_scheme_choice_container" data-ng-repeat="colorScheme in colorSchemes" ng-click="changeSelectedColorScheme(colorScheme)">
|
||||||
<div class="color_scheme_choice_label">
|
<div class="color_scheme_choice_label">
|
||||||
<!-- This click/clickBubble nonsense is so that we can have a separate URL inside a parent with an onClick handler -->
|
<!-- This click/clickBubble nonsense is so that we can have a separate URL inside a parent with an onClick handler -->
|
||||||
<span style="color: #AAA">{{colorScheme.name}}</span><!--a data-bind="if: $data.url, click: function(){return true;}, clickBubble: false, attr: { href: $data.url}"><img class="external_link_img" src="external_link.png"></a-->
|
{{colorScheme.name}}<!--a data-bind="if: $data.url, click: function(){return true;}, clickBubble: false, attr: { href: $data.url}"><img class="external_link_img" src="external_link.png"></a-->
|
||||||
</div>
|
</div>
|
||||||
<div class="colorpicker_text_sample_tight" data-ng-style="{'background-color': colorScheme.preferred_background}">
|
<div class="colorpicker_text_sample_tight" data-ng-style="{'background-color': colorScheme.preferred_background}">
|
||||||
<span data-ng-style="{'color': colorScheme.command}">/bright/vixens</span>
|
<span data-ng-style="{'color': colorScheme.command}">/bright/vixens</span>
|
||||||
|
|
|
@ -1,10 +1,20 @@
|
||||||
<div style="padding: 0 10px 15px;">
|
<!-- The first 'sample' prompt is the current one; the remainders are samples. This ought to be cleaned up. -->
|
||||||
|
<div class="current_prompt" style="min-height: 7.5em">
|
||||||
|
<div class="prompt_demo_choice_label">{{ selectedPrompt.name }}</div>
|
||||||
|
<div ng-bind-html-unsafe='selectedPrompt.demo' class="prompt_demo unbordered"></div>
|
||||||
|
<div style="position: absolute; right: 5px; bottom: 5px; color:">
|
||||||
|
<span class="save_button"
|
||||||
|
ng-show="showSaveButton"
|
||||||
|
style="color: #777"
|
||||||
|
ng-click="setPrompt()">{{ savePromptButtonTitle }}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div style="margin: 10px 0 7px 35px;">Select a prompt below:</div>
|
||||||
|
<div class="prompt_choices_scrollview">
|
||||||
|
<div class="prompt_choices_list">
|
||||||
<div ng-repeat="prompt in samplePrompts">
|
<div ng-repeat="prompt in samplePrompts">
|
||||||
<div class="prompt_demo_choice_label">{{ prompt.name }}</div>
|
<div class="prompt_demo_choice_label">{{ prompt.name }}</div>
|
||||||
<div ng-bind-html-unsafe='prompt.demo' class="prompt_demo" ng-click="selectPrompt(prompt)"></div>
|
<div ng-bind-html-unsafe='prompt.demo' class="prompt_demo" ng-click="selectPrompt(prompt)"></div>
|
||||||
<div class="prompt_function" ng-show="selectedPrompt == prompt">
|
|
||||||
<div class="prompt_function_text">{{ prompt.function }}</div>
|
|
||||||
</div>
|
|
||||||
<span class="prompt_save_button" ng-click="setNewPrompt(selectedPrompt)" ng-show="selectedPrompt == prompt && selectedPrompt != samplePrompts[0]">Use</span>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
Loading…
Reference in a new issue