nubia/internal/ui/style.py (49 lines of code) (raw):
#!/usr/bin/env python3
# Copyright (c) Facebook, Inc. and its affiliates.
# All rights reserved.
#
# This source code is licensed under the BSD-style license found in the
# LICENSE file in the root directory of this source tree.
#
from prompt_toolkit.styles import (
Style,
merge_styles,
style_from_pygments_cls,
style_from_pygments_dict,
)
from pygments.styles.monokai import MonokaiStyle
from pygments.token import Name, Token
shell_style = merge_styles(
[
style_from_pygments_cls(MonokaiStyle),
style_from_pygments_dict(
{
# Commands
Name.Command: "#f2b44f",
Name.SubCommand: "#f2c46f",
Name.InvalidCommand: "bg:#ff0066 #000000",
Name.Select: "#0000ff",
Name.Query: "#d78700",
Name.Key: "#ffffff",
Name.Path: "#fff484",
Name.Help: "#00aa00",
Name.Exit: "#ff0066",
# User input.
Token: "#ff0066",
# Prompt.
Token.Username: "#884444",
Token.At: "#00aa00",
Token.Colon: "#00aa00",
Token.Pound: "#00aa00",
Token.Tier: "#ff0088",
Token.Path: "#884444 underline",
Token.RPrompt: "bg:#ff0066 #ffffff",
# Toolbar Tokens
Token.Toolbar: "#ffffff bg:#1c1c1c",
Token.TestTier: "#ff0000 bg:#1c1c1c",
Token.ProductionTier: "#ff0000 bg:#1c1c1c",
Token.OfflineNodes: "#ff0000 bg:#1c1c1c",
Token.NodesCount: "#ffffff bg:#1c1c1c",
Token.Spacer: "#ffffff bg:#1c1c1c",
# Alarms
Token.MinorAlarm: "#0000ff bg:#1c1c1c",
Token.MajorAlarm: "#d78700 bg:#1c1c1c",
Token.CriticalAlarm: "#ff0000 bg:#1c1c1c",
Token.AppendFailures: "#0000ff bg:#1c1c1c",
# General
Token.Good: "#ffffff bg:#10c010",
Token.Bad: "#ffffff bg:#c01010",
Token.Info: "#ffffff bg:#1010c0",
Token.Warn: "#000000 bg:#c0c010",
}
),
Style.from_dict({"bottom-toolbar": "fg:#ffffff bg:#1c1c1c noinherit"}),
]
)