129 lines
4.2 KiB
Python
129 lines
4.2 KiB
Python
# -*- coding: utf-8 -*- #
|
|
# Copyright 2017 Google LLC. All Rights Reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
"""gcloud interactive shell configurable styles."""
|
|
|
|
from __future__ import absolute_import
|
|
from __future__ import division
|
|
from __future__ import unicode_literals
|
|
|
|
from googlecloudsdk.core import properties
|
|
|
|
import six
|
|
|
|
|
|
class Config(object):
|
|
"""gcloud interactive shell configurable styles.
|
|
|
|
Attributes:
|
|
bottom_bindings_line: Display bottom key bindings line if true.
|
|
bottom_status_line: Display bottom status line if true.
|
|
completion_menu_lines: Number of lines in the completion menu.
|
|
context: Command context string.
|
|
fixed_prompt_position: Display the prompt at the same position if true.
|
|
help_lines: Maximum number of help snippet lines.
|
|
hidden: Expose hidden commands/flags if true.
|
|
justify_bottom_lines: Left and right justify bottom toolbar lines.
|
|
manpage_generator: Use the manpage CLI tree generator for unsupported
|
|
commands if true.
|
|
multi_column_completion_menu: Display completions as multi-column menu
|
|
if true.
|
|
prompt: Command prompt string.
|
|
show_help: Show help as command args are entered if true.
|
|
suggest: Add command line suggestions based on history if true.
|
|
"""
|
|
|
|
def __init__(
|
|
self,
|
|
bottom_bindings_line=None,
|
|
bottom_status_line=None,
|
|
completion_menu_lines=None,
|
|
context=None,
|
|
debug=None,
|
|
fixed_prompt_position=None,
|
|
help_lines=None,
|
|
hidden=None,
|
|
justify_bottom_lines=None,
|
|
manpage_generator=None,
|
|
multi_column_completion_menu=None,
|
|
obfuscate=None,
|
|
prompt=None,
|
|
show_help=None,
|
|
suggest=None,
|
|
):
|
|
|
|
interactive = properties.VALUES.interactive
|
|
|
|
if bottom_bindings_line is None:
|
|
bottom_bindings_line = interactive.bottom_bindings_line.GetBool()
|
|
self.bottom_bindings_line = bottom_bindings_line
|
|
|
|
if bottom_status_line is None:
|
|
bottom_status_line = interactive.bottom_status_line.GetBool()
|
|
self.bottom_status_line = bottom_status_line
|
|
|
|
if completion_menu_lines is None:
|
|
completion_menu_lines = interactive.completion_menu_lines.GetInt()
|
|
self.completion_menu_lines = completion_menu_lines
|
|
|
|
if context is None:
|
|
context = interactive.context.Get()
|
|
self.context = six.text_type(context)
|
|
|
|
if debug is None:
|
|
debug = interactive.debug.GetBool()
|
|
self.debug = debug
|
|
|
|
if fixed_prompt_position is None:
|
|
fixed_prompt_position = interactive.fixed_prompt_position.GetBool()
|
|
self.fixed_prompt_position = fixed_prompt_position
|
|
|
|
if help_lines is None:
|
|
help_lines = interactive.help_lines.GetInt()
|
|
self.help_lines = help_lines
|
|
|
|
if hidden is None:
|
|
hidden = interactive.hidden.GetBool()
|
|
self.hidden = hidden
|
|
|
|
if justify_bottom_lines is None:
|
|
justify_bottom_lines = interactive.justify_bottom_lines.GetBool()
|
|
self.justify_bottom_lines = justify_bottom_lines
|
|
|
|
if manpage_generator is None:
|
|
manpage_generator = interactive.manpage_generator.Get()
|
|
self.manpage_generator = manpage_generator
|
|
|
|
if multi_column_completion_menu is None:
|
|
multi_column_completion_menu = (
|
|
interactive.multi_column_completion_menu.GetBool())
|
|
self.multi_column_completion_menu = multi_column_completion_menu
|
|
|
|
if obfuscate is None:
|
|
obfuscate = interactive.obfuscate.GetBool()
|
|
self.obfuscate = obfuscate
|
|
|
|
if prompt is None:
|
|
prompt = interactive.prompt.Get()
|
|
self.prompt = six.text_type(prompt)
|
|
|
|
if show_help is None:
|
|
show_help = interactive.show_help.GetBool()
|
|
self.show_help = show_help
|
|
|
|
if suggest is None:
|
|
suggest = interactive.suggest.GetBool()
|
|
self.suggest = suggest
|