web-console 1.0.4 → 2.0.0.beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. checksums.yaml +4 -4
  2. data/README.markdown +26 -247
  3. data/lib/action_dispatch/debug_exceptions.rb +115 -0
  4. data/lib/action_dispatch/exception_wrapper.rb +15 -0
  5. data/lib/action_dispatch/templates/rescues/_request_and_response.html.erb +34 -0
  6. data/lib/action_dispatch/templates/rescues/_request_and_response.text.erb +23 -0
  7. data/lib/action_dispatch/templates/rescues/_source.erb +27 -0
  8. data/lib/action_dispatch/templates/rescues/_trace.html.erb +76 -0
  9. data/lib/action_dispatch/templates/rescues/_trace.text.erb +15 -0
  10. data/lib/action_dispatch/templates/rescues/_web_console.html.erb +382 -0
  11. data/lib/action_dispatch/templates/rescues/diagnostics.html.erb +18 -0
  12. data/lib/action_dispatch/templates/rescues/diagnostics.text.erb +9 -0
  13. data/lib/action_dispatch/templates/rescues/layout.erb +162 -0
  14. data/lib/action_dispatch/templates/rescues/missing_template.html.erb +7 -0
  15. data/lib/action_dispatch/templates/rescues/missing_template.text.erb +3 -0
  16. data/lib/action_dispatch/templates/rescues/routing_error.html.erb +30 -0
  17. data/lib/action_dispatch/templates/rescues/routing_error.text.erb +11 -0
  18. data/lib/action_dispatch/templates/rescues/template_error.html.erb +22 -0
  19. data/lib/action_dispatch/templates/rescues/template_error.text.erb +8 -0
  20. data/lib/action_dispatch/templates/rescues/unknown_action.html.erb +6 -0
  21. data/lib/action_dispatch/templates/rescues/unknown_action.text.erb +3 -0
  22. data/lib/web_console.rb +17 -7
  23. data/lib/web_console/exception_extension.rb +22 -0
  24. data/lib/web_console/railtie.rb +15 -0
  25. data/lib/web_console/repl.rb +24 -0
  26. data/lib/web_console/repl_session.rb +90 -0
  27. data/lib/web_console/version.rb +1 -1
  28. data/lib/web_console/view_helpers.rb +21 -0
  29. data/test/action_pack/exception_wrapper_test.rb +26 -0
  30. data/test/dummy/app/controllers/exception_test_controller.rb +11 -0
  31. data/test/dummy/app/controllers/helper_test_controller.rb +5 -0
  32. data/test/dummy/app/views/helper_test/index.html.erb +220 -0
  33. data/test/dummy/app/views/layouts/application.html.erb +2 -0
  34. data/test/dummy/config/application.rb +0 -34
  35. data/test/dummy/config/routes.rb +3 -0
  36. data/test/dummy/db/development.sqlite3 +0 -0
  37. data/test/dummy/log/development.log +61270 -0
  38. data/test/dummy/log/test.log +3917 -0
  39. data/test/dummy/tmp/cache/assets/development/sprockets/038461854af2e8bccdb29768efd4768f +0 -0
  40. data/test/dummy/tmp/cache/assets/development/sprockets/0ec396634a5f6808b026257fd107c355 +0 -0
  41. data/test/dummy/tmp/cache/assets/development/sprockets/127a54171eea8d294e4673599861787d +0 -0
  42. data/{app/assets/stylesheets/web_console/application.css → test/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705} +0 -0
  43. data/test/dummy/tmp/cache/assets/development/sprockets/17c571144b4e44da39bddb2d2c412414 +0 -0
  44. data/test/dummy/tmp/cache/assets/development/sprockets/1cb77d8cf661ccbc9de08f347c89b9f1 +0 -0
  45. data/test/dummy/tmp/cache/assets/development/sprockets/204edd12a29660722d4e0d8de9bd6652 +0 -0
  46. data/test/dummy/tmp/cache/assets/development/sprockets/2b96b037f3dfeccfe27113eb95b06ea1 +0 -0
  47. data/test/dummy/tmp/cache/assets/development/sprockets/2c853768baf811357d81d41bdfd05dcf +0 -0
  48. data/test/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  49. data/test/dummy/tmp/cache/assets/development/sprockets/314d48e543146f617c4d3439a4d8d40d +0 -0
  50. data/test/dummy/tmp/cache/assets/development/sprockets/34f21019a876722b8c24a6da4f0ef50b +0 -0
  51. data/test/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  52. data/{vendor/assets/javascripts/term.js → test/dummy/tmp/cache/assets/development/sprockets/36341e42f23669574fa1027d0958ff3e} +0 -0
  53. data/test/dummy/tmp/cache/assets/development/sprockets/44117154e909436e7eeaf10cdb18d2b4 +0 -0
  54. data/test/dummy/tmp/cache/assets/development/sprockets/496864a905d53afd8e176f29500f96a8 +0 -0
  55. data/test/dummy/tmp/cache/assets/development/sprockets/55b7b76605fdffe31d737d4ac1f1ef7b +0 -0
  56. data/test/dummy/tmp/cache/assets/development/sprockets/5ac98782fe3dfd0a766f75ce1801f0a0 +0 -0
  57. data/test/dummy/tmp/cache/assets/development/sprockets/6088d6f344b38303cc8028057d69e0f9 +0 -0
  58. data/test/dummy/tmp/cache/assets/development/sprockets/676dcf9b2d01b9dc7bd3183d8da88463 +0 -0
  59. data/test/dummy/tmp/cache/assets/development/sprockets/680381170dc160e358fc28076ea6886c +0 -0
  60. data/test/dummy/tmp/cache/assets/development/sprockets/6ad7acc9a22fe2a67ec24a1fc866c20e +0 -0
  61. data/test/dummy/tmp/cache/assets/development/sprockets/6bdb0d0c602e0e1bc304dc697e2cc6de +0 -0
  62. data/test/dummy/tmp/cache/assets/development/sprockets/6dc8d7aa69668fce85683aaad6615432 +0 -0
  63. data/test/dummy/tmp/cache/assets/development/sprockets/6e4d5b32cc444226f6597198994ccd5e +0 -0
  64. data/test/dummy/tmp/cache/assets/development/sprockets/74db0ca5cb8c8c347c9131a3ff516748 +0 -0
  65. data/test/dummy/tmp/cache/assets/development/sprockets/7999e525c88173c1beb785f002effc1d +0 -0
  66. data/{lib/assets/javascripts/web_console.js → test/dummy/tmp/cache/assets/development/sprockets/7a50a9e605754e99783de95715b976b0} +0 -0
  67. data/test/dummy/tmp/cache/assets/development/sprockets/806b0e33a2fe8e1245534345fa27c30a +0 -0
  68. data/{app/assets/javascripts/web_console/console_sessions.js → test/dummy/tmp/cache/assets/development/sprockets/8aa4c7aabff23c8089d41e9e54193483} +0 -0
  69. data/test/dummy/tmp/cache/assets/development/sprockets/90396626cba6cbec37e32038e6c54e76 +0 -0
  70. data/test/dummy/tmp/cache/assets/development/sprockets/976b28910aa72c90a3b30c6e940f51df +0 -0
  71. data/test/dummy/tmp/cache/assets/development/sprockets/99e1bd7cbc437505bc8f07bc528c721c +0 -0
  72. data/test/dummy/tmp/cache/assets/development/sprockets/aaccf2c9ae2add0863c9a49e0042a097 +0 -0
  73. data/test/dummy/tmp/cache/assets/development/sprockets/ae4677d24a79d9411f2fced5011d5807 +0 -0
  74. data/test/dummy/tmp/cache/assets/development/sprockets/b2401118729720034b6f3eda0b4c5025 +0 -0
  75. data/test/dummy/tmp/cache/assets/development/sprockets/c649837df826fc310cb80f1adafd6b8d +0 -0
  76. data/test/dummy/tmp/cache/assets/development/sprockets/cac185d59612fae451a12df3fc21bb51 +0 -0
  77. data/test/dummy/tmp/cache/assets/development/sprockets/cb0065359d3b5b296f71d673f4b276e9 +0 -0
  78. data/test/dummy/tmp/cache/assets/development/sprockets/cee8c6b09c33d2b276753e959712724e +0 -0
  79. data/test/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  80. data/test/dummy/tmp/cache/assets/development/sprockets/d1f6e06bc2f112c4ec3a4c3f68351878 +0 -0
  81. data/test/dummy/tmp/cache/assets/development/sprockets/d20d83fd7ffa378b1b2b901786d640f3 +0 -0
  82. data/test/dummy/tmp/cache/assets/development/sprockets/d38c7c3aa1e72b55769ccb3607641ef4 +0 -0
  83. data/test/dummy/tmp/cache/assets/development/sprockets/d6b85d8b0b5c569388b89e56e9f6fed7 +0 -0
  84. data/test/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  85. data/test/dummy/tmp/cache/assets/development/sprockets/d982412def520c434e2240eae6d29cf2 +0 -0
  86. data/test/dummy/tmp/cache/assets/development/sprockets/df048a8b0897b9c04acdf59c8f95b18f +0 -0
  87. data/test/dummy/tmp/cache/assets/development/sprockets/df600f50f002512c95d93bcfbab891ed +0 -0
  88. data/test/dummy/tmp/cache/assets/development/sprockets/e6d6b8bde546349764be7b44ffcf5807 +0 -0
  89. data/test/dummy/tmp/cache/assets/development/sprockets/eb25265794d2f7afd1684779d84efdac +0 -0
  90. data/test/dummy/tmp/cache/assets/development/sprockets/ee8826b12b7d9bfd717df950b58f82ab +0 -0
  91. data/test/dummy/tmp/cache/assets/development/sprockets/ef9824789c6ed3483590e0564a12e1d1 +0 -0
  92. data/test/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  93. data/test/dummy/tmp/cache/assets/development/sprockets/fc7201c6cbef32453aa4175c520c8eae +0 -0
  94. data/test/dummy/tmp/cache/assets/test/sprockets/17c571144b4e44da39bddb2d2c412414 +0 -0
  95. data/test/dummy/tmp/cache/assets/test/sprockets/36341e42f23669574fa1027d0958ff3e +0 -0
  96. data/test/dummy/tmp/cache/assets/test/sprockets/55b7b76605fdffe31d737d4ac1f1ef7b +0 -0
  97. data/test/dummy/tmp/cache/assets/test/sprockets/5ac98782fe3dfd0a766f75ce1801f0a0 +0 -0
  98. data/test/dummy/tmp/cache/assets/test/sprockets/680381170dc160e358fc28076ea6886c +0 -0
  99. data/test/dummy/tmp/cache/assets/test/sprockets/6ad7acc9a22fe2a67ec24a1fc866c20e +0 -0
  100. data/test/dummy/tmp/cache/assets/test/sprockets/6e4d5b32cc444226f6597198994ccd5e +0 -0
  101. data/test/dummy/tmp/cache/assets/test/sprockets/7a50a9e605754e99783de95715b976b0 +0 -0
  102. data/test/dummy/tmp/cache/assets/test/sprockets/8aa4c7aabff23c8089d41e9e54193483 +0 -0
  103. data/test/dummy/tmp/cache/assets/test/sprockets/b2401118729720034b6f3eda0b4c5025 +0 -0
  104. data/test/dummy/tmp/cache/assets/test/sprockets/cb0065359d3b5b296f71d673f4b276e9 +0 -0
  105. data/test/dummy/tmp/cache/assets/test/sprockets/d1f6e06bc2f112c4ec3a4c3f68351878 +0 -0
  106. data/test/dummy/tmp/cache/assets/test/sprockets/d6b85d8b0b5c569388b89e56e9f6fed7 +0 -0
  107. data/test/dummy/tmp/cache/assets/test/sprockets/d982412def520c434e2240eae6d29cf2 +0 -0
  108. data/test/dummy/tmp/cache/assets/test/sprockets/df048a8b0897b9c04acdf59c8f95b18f +0 -0
  109. data/test/dummy/tmp/cache/assets/test/sprockets/e6d6b8bde546349764be7b44ffcf5807 +0 -0
  110. data/test/web_console/exception_extention_test.rb +16 -0
  111. data/test/web_console/repl_session_test.rb +32 -0
  112. data/test/web_console/repl_test.rb +26 -0
  113. metadata +191 -58
  114. data/app/assets/javascripts/web_console/application.js +0 -1
  115. data/app/assets/stylesheets/web_console/console_sessions.css.erb +0 -6
  116. data/app/controllers/web_console/application_controller.rb +0 -13
  117. data/app/controllers/web_console/console_sessions_controller.rb +0 -43
  118. data/app/helpers/web_console/application_helper.rb +0 -4
  119. data/app/helpers/web_console/console_session_helper.rb +0 -4
  120. data/app/models/web_console/console_session.rb +0 -96
  121. data/app/views/layouts/web_console/application.html.erb +0 -14
  122. data/app/views/web_console/console_sessions/index.html.erb +0 -15
  123. data/config/routes.rb +0 -11
  124. data/lib/assets/javascripts/web-console.js +0 -1
  125. data/lib/web_console/colors.rb +0 -87
  126. data/lib/web_console/colors/light.rb +0 -24
  127. data/lib/web_console/colors/monokai.rb +0 -24
  128. data/lib/web_console/colors/solarized.rb +0 -47
  129. data/lib/web_console/colors/tango.rb +0 -24
  130. data/lib/web_console/colors/xterm.rb +0 -24
  131. data/lib/web_console/engine.rb +0 -77
  132. data/lib/web_console/slave.rb +0 -139
  133. data/test/controllers/web_console/console_sessions_controller_test.rb +0 -95
  134. data/test/helpers/web_console/console_session_helper_test.rb +0 -6
  135. data/test/models/console_session_test.rb +0 -58
  136. data/test/web_console/colors_test.rb +0 -58
  137. data/test/web_console/engine_test.rb +0 -136
  138. data/test/web_console/slave_test.rb +0 -71
@@ -1 +0,0 @@
1
- //= require_tree .
@@ -1,6 +0,0 @@
1
- <% WebConsole.config.style.instance_eval do %>
2
- body { color: <%= colors.foreground %>; background: <%= colors.background %>; margin: 0; padding: 0; }
3
-
4
- .terminal { float: left; overflow: hidden; font: <%= font %>; }
5
- .terminal-cursor { color: <%= colors.background %>; background: <%= colors.foreground %>; }
6
- <% end %>
@@ -1,13 +0,0 @@
1
- module WebConsole
2
- class ApplicationController < ActionController::Base
3
- before_action :prevent_unauthorized_requests!
4
-
5
- private
6
-
7
- def prevent_unauthorized_requests!
8
- unless request.remote_ip.in?(WebConsole.config.whitelisted_ips)
9
- render nothing: true, status: :unauthorized
10
- end
11
- end
12
- end
13
- end
@@ -1,43 +0,0 @@
1
- require_dependency 'web_console/application_controller'
2
-
3
- module WebConsole
4
- class ConsoleSessionsController < ApplicationController
5
- rescue_from ConsoleSession::Unavailable do |exception|
6
- render json: exception, status: :gone
7
- end
8
-
9
- rescue_from ConsoleSession::Invalid do |exception|
10
- render json: exception, status: :unprocessable_entity
11
- end
12
-
13
- def index
14
- @console_session = ConsoleSession.create
15
- end
16
-
17
- def input
18
- @console_session = ConsoleSession.find(params[:id])
19
- @console_session.send_input(console_session_params[:input])
20
-
21
- render nothing: true
22
- end
23
-
24
- def configuration
25
- @console_session = ConsoleSession.find(params[:id])
26
- @console_session.configure(console_session_params)
27
-
28
- render nothing: true
29
- end
30
-
31
- def pending_output
32
- @console_session = ConsoleSession.find(params[:id])
33
-
34
- render json: { output: @console_session.pending_output }
35
- end
36
-
37
- private
38
-
39
- def console_session_params
40
- params.permit(:id, :input, :width, :height)
41
- end
42
- end
43
- end
@@ -1,4 +0,0 @@
1
- module WebConsole
2
- module ApplicationHelper
3
- end
4
- end
@@ -1,4 +0,0 @@
1
- module WebConsole
2
- module ConsoleSessionHelper
3
- end
4
- end
@@ -1,96 +0,0 @@
1
- module WebConsole
2
- # Manage and persist (in memory) WebConsole::Slave instances.
3
- class ConsoleSession
4
- include ActiveModel::Model
5
-
6
- # In-memory storage for the console sessions. Session preservation is
7
- # troubled on servers with multiple workers and threads.
8
- INMEMORY_STORAGE = {}
9
-
10
- # Base error class for ConsoleSession specific exceptions.
11
- #
12
- # Provides #to_json implementation, so all subclasses are JSON
13
- # serializable.
14
- class Error < StandardError
15
- def to_json(*)
16
- { error: to_s }.to_json
17
- end
18
- end
19
-
20
- # Raised when trying to find a session that is no longer in the in-memory
21
- # session storage or when the slave process exited.
22
- Unavailable = Class.new(Error)
23
-
24
- # Raised when an operation transition to an invalid state.
25
- Invalid = Class.new(Error)
26
-
27
- class << self
28
- # Finds a session by its pid.
29
- #
30
- # Raises WebConsole::ConsoleSession::Expired if there is no such session.
31
- def find(pid)
32
- INMEMORY_STORAGE[pid.to_i] or raise Unavailable, 'Session unavailable'
33
- end
34
-
35
- # Creates an already persisted consolse session.
36
- #
37
- # Use this method if you need to persist a session, without providing it
38
- # any input.
39
- def create
40
- new.persist
41
- end
42
- end
43
-
44
- def initialize(attributes = {})
45
- @slave = WebConsole::Slave.new
46
- end
47
-
48
- # Explicitly persist the model in the in-memory storage.
49
- def persist
50
- INMEMORY_STORAGE[pid] = self
51
- end
52
-
53
- # Returns true if the current session is persisted in the in-memory storage.
54
- def persisted?
55
- self == INMEMORY_STORAGE[pid]
56
- end
57
-
58
- # Returns an Enumerable of all key attributes if any is set, regardless if
59
- # the object is persisted or not.
60
- def to_key
61
- [pid] if persisted?
62
- end
63
-
64
- private
65
-
66
- def delegate_and_call_slave_method(name, *args, &block)
67
- # Cache the delegated method, so we don't have to hit #method_missing
68
- # on every call.
69
- define_singleton_method(name) do |*inner_args, &inner_block|
70
- begin
71
- @slave.public_send(name, *inner_args, &inner_block)
72
- rescue ArgumentError => exc
73
- raise Invalid, exc
74
- rescue Slave::Closed => exc
75
- raise Unavailable, exc
76
- end
77
- end
78
-
79
- # Now call the method, since that's our most common use case. Delegate
80
- # the method and than call it.
81
- public_send(name, *args, &block)
82
- end
83
-
84
- def method_missing(name, *args, &block)
85
- if @slave.respond_to?(name)
86
- delegate_and_call_slave_method(name, *args, &block)
87
- else
88
- super
89
- end
90
- end
91
-
92
- def respond_to_missing?(name, include_all = false)
93
- @slave.respond_to?(name) or super
94
- end
95
- end
96
- end
@@ -1,14 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>WebConsole</title>
5
- <%= stylesheet_link_tag "web_console/application", media: "all" %>
6
- <%= javascript_include_tag "web_console/application" %>
7
- <%= csrf_meta_tags %>
8
- </head>
9
- <body>
10
-
11
- <%= yield %>
12
-
13
- </body>
14
- </html>
@@ -1,15 +0,0 @@
1
- <script>
2
- var config = {
3
- terminal: {
4
- colors: <%= raw WebConsole.config.style.colors.to_json %>
5
- },
6
-
7
- transport: {
8
- url: {
9
- input: "<%= web_console.input_console_session_path(@console_session) %>",
10
- pendingOutput: "<%= web_console.pending_output_console_session_path(@console_session) %>",
11
- configuration: "<%= web_console.configuration_console_session_path(@console_session) %>"
12
- }
13
- }
14
- };
15
- </script>
@@ -1,11 +0,0 @@
1
- WebConsole::Engine.routes.draw do
2
- root to: 'console_sessions#index'
3
-
4
- resources :console_sessions do
5
- member do
6
- put :input
7
- get :pending_output
8
- put :configuration
9
- end
10
- end
11
- end
@@ -1 +0,0 @@
1
- //= require ./web_console
@@ -1,87 +0,0 @@
1
- require 'active_support/core_ext/hash/indifferent_access'
2
-
3
- module WebConsole
4
- # = Colors
5
- #
6
- # Manages the creation and serialization of terminal color themes.
7
- #
8
- # Colors is a subclass of +Array+ and it stores a collection of CSS color
9
- # values, to be used from the client-side terminal.
10
- #
11
- # You can specify 8 or 16 colors and additional +background+ and +foreground+
12
- # colors. If not explicitly specified, +background+ and +foreground+ are
13
- # considered to be the first and the last of the given colors.
14
- class Colors < Array
15
- class << self
16
- # Registry of color themes mapped to a name.
17
- #
18
- # Don't manually alter the registry. Use WebConsole::Colors.register_theme
19
- # for adding entries.
20
- def themes
21
- @@themes ||= {}.with_indifferent_access
22
- end
23
-
24
- # Register a color theme into the color themes registry.
25
- #
26
- # Registration maps a name and Colors instance.
27
- #
28
- # If a block is given, it would be yielded with a new Colors instance to
29
- # populate the theme colors in.
30
- #
31
- # If a Colors instance is already instantiated it can be passed directly
32
- # as the second (_colors_) argument. In this case, if a block is given,
33
- # it won't be executed.
34
- def register_theme(name, colors = nil)
35
- themes[name] = colors || new.tap { |c| yield c }
36
- end
37
-
38
- # The default colors theme.
39
- def default
40
- self[:light]
41
- end
42
-
43
- # Shortcut for WebConsole::Colors.themes#[].
44
- def [](name)
45
- themes[name]
46
- end
47
- end
48
-
49
- alias :add :<<
50
-
51
- # Background color getter and setter.
52
- #
53
- # If called without arguments it acts like a getter. Otherwise it acts like
54
- # a setter.
55
- #
56
- # The default background color will be the first entry in the colors theme.
57
- def background(value = nil)
58
- @background = value unless value.nil?
59
- @background ||= self.first
60
- end
61
-
62
- alias :background= :background
63
-
64
- # Foreground color getter and setter.
65
- #
66
- # If called without arguments it acts like a getter. Otherwise it acts like
67
- # a setter.
68
- #
69
- # The default foreground color will be the last entry in the colors theme.
70
- def foreground(value = nil)
71
- @foreground = value unless value.nil?
72
- @foreground ||= self.last
73
- end
74
-
75
- alias :foreground= :foreground
76
-
77
- def to_json
78
- (dup << background << foreground).to_a.to_json
79
- end
80
- end
81
- end
82
-
83
- require 'web_console/colors/light'
84
- require 'web_console/colors/monokai'
85
- require 'web_console/colors/solarized'
86
- require 'web_console/colors/tango'
87
- require 'web_console/colors/xterm'
@@ -1,24 +0,0 @@
1
- module WebConsole
2
- Colors.register_theme(:light) do |c|
3
- c.add '#000000'
4
- c.add '#cd0000'
5
- c.add '#00cd00'
6
- c.add '#cdcd00'
7
- c.add '#0000ee'
8
- c.add '#cd00cd'
9
- c.add '#00cdcd'
10
- c.add '#e5e5e5'
11
-
12
- c.add '#7f7f7f'
13
- c.add '#ff0000'
14
- c.add '#00ff00'
15
- c.add '#ffff00'
16
- c.add '#5c5cff'
17
- c.add '#ff00ff'
18
- c.add '#00ffff'
19
- c.add '#ffffff'
20
-
21
- c.background '#ffffff'
22
- c.foreground '#000000'
23
- end
24
- end
@@ -1,24 +0,0 @@
1
- module WebConsole
2
- Colors.register_theme(:monokai) do |c|
3
- c.add '#1c1d19'
4
- c.add '#d01b24'
5
- c.add '#a7d32C'
6
- c.add '#d8cf67'
7
- c.add '#61b8d0'
8
- c.add '#695abb'
9
- c.add '#d53864'
10
- c.add '#fefffe'
11
-
12
- c.add '#1c1d19'
13
- c.add '#d12a24'
14
- c.add '#a7d32c'
15
- c.add '#d8cf67'
16
- c.add '#61b8d0'
17
- c.add '#695abb'
18
- c.add '#d53864'
19
- c.add '#fefffe'
20
-
21
- c.background '#1c1d19'
22
- c.foreground '#fefffe'
23
- end
24
- end
@@ -1,47 +0,0 @@
1
- module WebConsole
2
- Colors.register_theme(:solarized_dark) do |c|
3
- c.add '#073642'
4
- c.add '#dc322f'
5
- c.add '#859900'
6
- c.add '#b58900'
7
- c.add '#268bd2'
8
- c.add '#d33682'
9
- c.add '#2aa198'
10
- c.add '#eee8d5'
11
-
12
- c.add '#002b36'
13
- c.add '#cb4b16'
14
- c.add '#586e75'
15
- c.add '#657b83'
16
- c.add '#839496'
17
- c.add '#6c71c4'
18
- c.add '#93a1a1'
19
- c.add '#fdf6e3'
20
-
21
- c.background '#002b36'
22
- c.foreground '#657b83'
23
- end
24
-
25
- Colors.register_theme(:solarized_light) do |c|
26
- c.add '#073642'
27
- c.add '#dc322f'
28
- c.add '#859900'
29
- c.add '#b58900'
30
- c.add '#268bd2'
31
- c.add '#d33682'
32
- c.add '#2aa198'
33
- c.add '#eee8d5'
34
-
35
- c.add '#002b36'
36
- c.add '#cb4b16'
37
- c.add '#586e75'
38
- c.add '#657b83'
39
- c.add '#839496'
40
- c.add '#6c71c4'
41
- c.add '#93a1a1'
42
- c.add '#fdf6e3'
43
-
44
- c.background '#fdf6e3'
45
- c.foreground '#657b83'
46
- end
47
- end
@@ -1,24 +0,0 @@
1
- module WebConsole
2
- Colors.register_theme(:tango) do |c|
3
- c.add '#2e3436'
4
- c.add '#cc0000'
5
- c.add '#4e9a06'
6
- c.add '#c4a000'
7
- c.add '#3465a4'
8
- c.add '#75507b'
9
- c.add '#06989a'
10
- c.add '#d3d7cf'
11
-
12
- c.add '#555753'
13
- c.add '#ef2929'
14
- c.add '#8ae234'
15
- c.add '#fce94f'
16
- c.add '#729fcf'
17
- c.add '#ad7fa8'
18
- c.add '#34e2e2'
19
- c.add '#eeeeec'
20
-
21
- c.background '#2e3436'
22
- c.foreground '#eeeeec'
23
- end
24
- end
@@ -1,24 +0,0 @@
1
- module WebConsole
2
- Colors.register_theme(:xterm) do |c|
3
- c.add '#000000'
4
- c.add '#cd0000'
5
- c.add '#00cd00'
6
- c.add '#cdcd00'
7
- c.add '#0000ee'
8
- c.add '#cd00cd'
9
- c.add '#00cdcd'
10
- c.add '#e5e5e5'
11
-
12
- c.add '#7f7f7f'
13
- c.add '#ff0000'
14
- c.add '#00ff00'
15
- c.add '#ffff00'
16
- c.add '#5c5cff'
17
- c.add '#ff00ff'
18
- c.add '#00ffff'
19
- c.add '#ffffff'
20
-
21
- c.background '#000000'
22
- c.foreground '#ffffff'
23
- end
24
- end