File: //snap/google-cloud-cli/current/lib/googlecloudsdk/command_lib/interactive/config.py
# -*- 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