working_set 1.0.1 → 1.0.2
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/README.md +11 -1
- data/assets/video.png +0 -0
- data/lib/set_viewer_actor.rb +10 -26
- data/lib/user_input_actor.rb +4 -0
- data/lib/view_router_actor.rb +39 -0
- data/lib/working_set.rb +1 -1
- data/lib/working_set_cli.rb +1 -0
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 206cdf716829db1ef95c8098067f726c389318b6b791ebecfb00c62bd23a87f5
|
4
|
+
data.tar.gz: 490b5875cdab2984e8a244ed851af4f732b73bcfb2e0c2d369a620950d438ba9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0ada452dfbbc66b062f073654256b0f9aa5670f55d0fb6b554a05c292191200d6dff00637c9e15c0a171e3340743c68b13077cafc1e8077649924ebe2c11c0ad
|
7
|
+
data.tar.gz: b59fb38299ddfed66968a700dbccb862eb0a3a70d99a7079fbc57f12d4f71591c6e356c94343bed3e265f9045b810813159ad970f3203574700da1ab86c6725e
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -3,12 +3,18 @@
|
|
3
3
|
Companion to your editor that makes searching, and using search results for
|
4
4
|
jumping around, super nice.
|
5
5
|
|
6
|
+
[](https://vimeo.com/455633260)
|
7
|
+
|
6
8
|
## Installation
|
7
9
|
|
8
10
|
Installing the gem adds the working_set command to your path.
|
9
11
|
|
10
12
|
$ gem install working_set
|
11
13
|
|
14
|
+
Working Set uses `ag` "the silver searcher" for super fast searching power:
|
15
|
+
|
16
|
+
$ brew install ag
|
17
|
+
|
12
18
|
Install the plugin for your editor.
|
13
19
|
|
14
20
|
* [Vim Plugin](https://github.com/coderifous/working-set.vim)
|
@@ -91,9 +97,13 @@ You can press '?' in working_set to see key bindings:
|
|
91
97
|
* Add support for bookmarks.
|
92
98
|
* Add support for search history.
|
93
99
|
* Add support for customizing key bindings.
|
94
|
-
* Document protocol so other plugin editors can exist.
|
95
100
|
* Document adapter so other search tools can be used.
|
96
101
|
|
102
|
+
## API for Editor Integration
|
103
|
+
|
104
|
+
Information for integrating Working Set with your editor can be found
|
105
|
+
[here](https://github.com/coderifous/working_set/blob/master/API_FOR_EDITOR_INTEGRATION.md).
|
106
|
+
|
97
107
|
## Development
|
98
108
|
|
99
109
|
1) Fork the repo, clone the source code.
|
data/assets/video.png
ADDED
Binary file
|
data/lib/set_viewer_actor.rb
CHANGED
@@ -5,7 +5,8 @@ class SetViewerActor
|
|
5
5
|
subscribe "tell_selected_item", :tell_selected_item
|
6
6
|
subscribe "copy_selected_item", :copy_selected_item
|
7
7
|
subscribe "tell_selected_item_content", :tell_selected_item_content
|
8
|
-
subscribe "
|
8
|
+
subscribe "render_working_set", :render_working_set
|
9
|
+
subscribe "set_build_finished", :render_working_set
|
9
10
|
subscribe "set_build_failed", :show_error
|
10
11
|
subscribe "scroll_changed", :scroll
|
11
12
|
subscribe "context_lines_changed", :update_context_lines
|
@@ -15,34 +16,17 @@ class SetViewerActor
|
|
15
16
|
subscribe "select_prev_file", :select_prev_file
|
16
17
|
subscribe "select_next_item", :select_next_item
|
17
18
|
subscribe "select_prev_item", :select_prev_item
|
18
|
-
subscribe "welcome_user", :welcome_user
|
19
|
-
subscribe "display_help", :display_help
|
20
|
-
subscribe "display_working_set", :display_working_set
|
21
|
-
welcome_user
|
22
19
|
end
|
23
20
|
|
24
|
-
def
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
View::Help.render
|
32
|
-
end
|
33
|
-
|
34
|
-
def display_working_set(_)
|
35
|
-
debug_message "displaying working_set!"
|
36
|
-
@working_set_view&.render
|
37
|
-
end
|
38
|
-
|
39
|
-
def refresh_view(_, working_set)
|
40
|
-
prev_wsv = @working_set_view
|
41
|
-
@working_set_view = View::WorkingSet.new(working_set)
|
42
|
-
if prev_wsv&.working_set&.search == working_set.search
|
43
|
-
@working_set_view.restore_selection_state(prev_wsv)
|
21
|
+
def render_working_set(_, working_set = nil)
|
22
|
+
if working_set
|
23
|
+
prev_wsv = @working_set_view
|
24
|
+
@working_set_view = View::WorkingSet.new(working_set)
|
25
|
+
if prev_wsv&.working_set&.search == working_set.search
|
26
|
+
@working_set_view.restore_selection_state(prev_wsv)
|
27
|
+
end
|
44
28
|
end
|
45
|
-
@working_set_view
|
29
|
+
publish "render_view", @working_set_view
|
46
30
|
end
|
47
31
|
|
48
32
|
def items_present?
|
data/lib/user_input_actor.rb
CHANGED
@@ -57,6 +57,10 @@ class UserInputActor
|
|
57
57
|
end
|
58
58
|
|
59
59
|
def handle_modal_input(ch)
|
60
|
+
if ch == Ncurses::KEY_RESIZE # window resize
|
61
|
+
publish "window_resized"
|
62
|
+
return
|
63
|
+
end
|
60
64
|
case user_input_mode
|
61
65
|
when :welcome_user then handle_welcome_user_input(ch)
|
62
66
|
when :help then handle_help_input(ch)
|
@@ -0,0 +1,39 @@
|
|
1
|
+
class ViewRouterActor
|
2
|
+
include BasicActor
|
3
|
+
|
4
|
+
def initialize
|
5
|
+
subscribe "welcome_user", :welcome_user
|
6
|
+
subscribe "display_help", :display_help
|
7
|
+
subscribe "display_working_set", :display_working_set
|
8
|
+
subscribe "window_resized", :render_current_view
|
9
|
+
subscribe "render_view", :render_view
|
10
|
+
welcome_user
|
11
|
+
end
|
12
|
+
|
13
|
+
def welcome_user(_=nil)
|
14
|
+
debug_message "displaying welcome_user!"
|
15
|
+
render_view nil, View::WelcomeUser
|
16
|
+
end
|
17
|
+
|
18
|
+
def display_help(_)
|
19
|
+
debug_message "displaying help!"
|
20
|
+
render_view nil, View::Help
|
21
|
+
end
|
22
|
+
|
23
|
+
def display_working_set(_)
|
24
|
+
debug_message "displaying working_set!"
|
25
|
+
publish "render_working_set"
|
26
|
+
end
|
27
|
+
|
28
|
+
def render_view(_, view)
|
29
|
+
@current_view = view
|
30
|
+
render_current_view
|
31
|
+
end
|
32
|
+
|
33
|
+
def render_current_view(_=nil)
|
34
|
+
debug_message "rendering view: #{@current_view.inspect}"
|
35
|
+
@current_view&.render
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
|
data/lib/working_set.rb
CHANGED
data/lib/working_set_cli.rb
CHANGED
@@ -99,6 +99,7 @@ class WorkingSetCli
|
|
99
99
|
end
|
100
100
|
|
101
101
|
class AppSupervisor < Celluloid::Supervision::Container
|
102
|
+
supervise type: ViewRouterActor, as: :view_router
|
102
103
|
supervise type: SetViewerActor, as: :set_viewer
|
103
104
|
supervise type: SetBuilderActor, as: :set_builder
|
104
105
|
supervise type: ApiInputActor, as: :api_input
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: working_set
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jim Garvin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-09-
|
11
|
+
date: 2020-09-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -182,6 +182,7 @@ files:
|
|
182
182
|
- LICENSE.txt
|
183
183
|
- README.md
|
184
184
|
- Rakefile
|
185
|
+
- assets/video.png
|
185
186
|
- bin/working_set
|
186
187
|
- lib/api_input_actor.rb
|
187
188
|
- lib/basic_actor.rb
|
@@ -196,6 +197,7 @@ files:
|
|
196
197
|
- lib/view/help.rb
|
197
198
|
- lib/view/welcome_user.rb
|
198
199
|
- lib/view/working_set.rb
|
200
|
+
- lib/view_router_actor.rb
|
199
201
|
- lib/working_set.rb
|
200
202
|
- lib/working_set_cli.rb
|
201
203
|
- lib/working_set_item.rb
|
@@ -219,7 +221,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
219
221
|
- !ruby/object:Gem::Version
|
220
222
|
version: '0'
|
221
223
|
requirements: []
|
222
|
-
rubygems_version: 3.1.
|
224
|
+
rubygems_version: 3.1.4
|
223
225
|
signing_key:
|
224
226
|
specification_version: 4
|
225
227
|
summary: Companion for your terminal-based text editor.
|