ruby_jard 0.1.0 → 0.3.0
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/.github/FUNDING.yml +3 -0
- data/.github/ISSUE_TEMPLATE/bug_report.md +32 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- data/.github/workflows/documentation.yml +65 -0
- data/.github/workflows/rspec.yml +96 -0
- data/.gitignore +1 -0
- data/.rubocop.yml +90 -2
- data/CHANGELOG.md +112 -0
- data/Gemfile +14 -4
- data/README.md +95 -3
- data/benchmark/path_filter_bench.rb +58 -0
- data/bin/console +1 -2
- data/lib/ruby_jard.rb +68 -32
- data/lib/ruby_jard/box_drawer.rb +175 -0
- data/lib/ruby_jard/color_scheme.rb +28 -0
- data/lib/ruby_jard/color_schemes.rb +54 -0
- data/lib/ruby_jard/color_schemes/256_color_scheme.rb +50 -0
- data/lib/ruby_jard/color_schemes/256_light_color_scheme.rb +50 -0
- data/lib/ruby_jard/color_schemes/deep_space_color_scheme.rb +49 -0
- data/lib/ruby_jard/color_schemes/gruvbox_color_scheme.rb +48 -0
- data/lib/ruby_jard/color_schemes/one_half_dark_color_scheme.rb +47 -0
- data/lib/ruby_jard/color_schemes/one_half_light_color_scheme.rb +49 -0
- data/lib/ruby_jard/column.rb +26 -0
- data/lib/ruby_jard/commands/color_helpers.rb +32 -0
- data/lib/ruby_jard/commands/continue_command.rb +4 -9
- data/lib/ruby_jard/commands/down_command.rb +9 -8
- data/lib/ruby_jard/commands/exit_command.rb +27 -0
- data/lib/ruby_jard/commands/frame_command.rb +13 -11
- data/lib/ruby_jard/commands/jard/color_scheme_command.rb +74 -0
- data/lib/ruby_jard/commands/jard/filter_command.rb +136 -0
- data/lib/ruby_jard/commands/jard/hide_command.rb +40 -0
- data/lib/ruby_jard/commands/jard/output_command.rb +36 -0
- data/lib/ruby_jard/commands/jard/show_command.rb +41 -0
- data/lib/ruby_jard/commands/jard_command.rb +52 -0
- data/lib/ruby_jard/commands/list_command.rb +31 -0
- data/lib/ruby_jard/commands/next_command.rb +11 -8
- data/lib/ruby_jard/commands/step_command.rb +11 -8
- data/lib/ruby_jard/commands/step_out_command.rb +34 -0
- data/lib/ruby_jard/commands/up_command.rb +10 -8
- data/lib/ruby_jard/commands/validation_helpers.rb +50 -0
- data/lib/ruby_jard/config.rb +61 -0
- data/lib/ruby_jard/console.rb +158 -0
- data/lib/ruby_jard/control_flow.rb +73 -0
- data/lib/ruby_jard/decorators/array_decorator.rb +79 -0
- data/lib/ruby_jard/decorators/attributes_decorator.rb +172 -0
- data/lib/ruby_jard/decorators/color_decorator.rb +80 -0
- data/lib/ruby_jard/decorators/hash_decorator.rb +74 -0
- data/lib/ruby_jard/decorators/inspection_decorator.rb +109 -0
- data/lib/ruby_jard/decorators/loc_decorator.rb +108 -119
- data/lib/ruby_jard/decorators/object_decorator.rb +122 -0
- data/lib/ruby_jard/decorators/path_decorator.rb +56 -60
- data/lib/ruby_jard/decorators/rails_decorator.rb +194 -0
- data/lib/ruby_jard/decorators/source_decorator.rb +3 -1
- data/lib/ruby_jard/decorators/string_decorator.rb +41 -0
- data/lib/ruby_jard/decorators/struct_decorator.rb +79 -0
- data/lib/ruby_jard/frame.rb +68 -0
- data/lib/ruby_jard/key_binding.rb +14 -0
- data/lib/ruby_jard/key_bindings.rb +96 -0
- data/lib/ruby_jard/keys.rb +48 -0
- data/lib/ruby_jard/layout.rb +17 -88
- data/lib/ruby_jard/layout_calculator.rb +168 -0
- data/lib/ruby_jard/layout_picker.rb +34 -0
- data/lib/ruby_jard/layouts.rb +52 -0
- data/lib/ruby_jard/layouts/narrow_horizontal_layout.rb +32 -0
- data/lib/ruby_jard/layouts/narrow_vertical_layout.rb +32 -0
- data/lib/ruby_jard/layouts/tiny_layout.rb +29 -0
- data/lib/ruby_jard/layouts/wide_layout.rb +50 -0
- data/lib/ruby_jard/pager.rb +112 -0
- data/lib/ruby_jard/path_classifier.rb +133 -0
- data/lib/ruby_jard/path_filter.rb +125 -0
- data/lib/ruby_jard/reflection.rb +97 -0
- data/lib/ruby_jard/repl_processor.rb +151 -89
- data/lib/ruby_jard/repl_proxy.rb +337 -0
- data/lib/ruby_jard/row.rb +31 -0
- data/lib/ruby_jard/row_renderer.rb +119 -0
- data/lib/ruby_jard/screen.rb +14 -41
- data/lib/ruby_jard/screen_adjuster.rb +104 -0
- data/lib/ruby_jard/screen_drawer.rb +25 -0
- data/lib/ruby_jard/screen_manager.rb +167 -82
- data/lib/ruby_jard/screen_renderer.rb +152 -0
- data/lib/ruby_jard/screens.rb +31 -12
- data/lib/ruby_jard/screens/backtrace_screen.rb +118 -116
- data/lib/ruby_jard/screens/menu_screen.rb +73 -45
- data/lib/ruby_jard/screens/source_screen.rb +86 -106
- data/lib/ruby_jard/screens/threads_screen.rb +103 -78
- data/lib/ruby_jard/screens/variables_screen.rb +224 -142
- data/lib/ruby_jard/session.rb +151 -16
- data/lib/ruby_jard/span.rb +23 -0
- data/lib/ruby_jard/templates/layout_template.rb +35 -0
- data/lib/ruby_jard/templates/screen_template.rb +34 -0
- data/lib/ruby_jard/thread_info.rb +69 -0
- data/lib/ruby_jard/version.rb +1 -1
- data/ruby_jard.gemspec +7 -8
- metadata +84 -50
- data/.travis.yml +0 -6
- data/lib/ruby_jard/commands/finish_command.rb +0 -31
- data/lib/ruby_jard/decorators/text_decorator.rb +0 -61
- data/lib/ruby_jard/layout_template.rb +0 -101
- data/lib/ruby_jard/screens/breakpoints_screen.rb +0 -23
- data/lib/ruby_jard/screens/empty_screen.rb +0 -13
- data/lib/ruby_jard/screens/expressions_sreen.rb +0 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e5a458f6dbabbed48b8cb322d6ac9a3c52e664309b1a1bfde1e90f91921092b6
|
4
|
+
data.tar.gz: e54b2ddcebc06c72fd78b4cc34dc99aba60eb1ba7d20d6815e0c4d88c39d2076
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '079110d831bc4729fe3c5ac9a33726d396cd4df50b889890f5b7e602d7e8d6717cf6e48b6038c4e653e2de2ae2ae4d44da6a0790d6f63be67e573475d59a0980'
|
7
|
+
data.tar.gz: fe4711967e8d0f3a81962038b1d7d40b319934f323ed6d942bde0f918125971e76bc49a73c603347c4e6be07618bf3950236ef0e868b07c587a2d1583cf7cbe6
|
data/.github/FUNDING.yml
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
---
|
2
|
+
name: Bug report
|
3
|
+
about: Create a report to help us improve
|
4
|
+
title: "[BUG]"
|
5
|
+
labels: bug
|
6
|
+
assignees: ''
|
7
|
+
|
8
|
+
---
|
9
|
+
|
10
|
+
**Describe the bug**
|
11
|
+
A clear and concise description of what the bug is.
|
12
|
+
|
13
|
+
**To Reproduce**
|
14
|
+
Steps to reproduce the behavior:
|
15
|
+
1. Go to '...'
|
16
|
+
2. Click on '....'
|
17
|
+
3. Scroll down to '....'
|
18
|
+
4. See error
|
19
|
+
|
20
|
+
**Expected behavior**
|
21
|
+
A clear and concise description of what you expected to happen.
|
22
|
+
|
23
|
+
**Screenshots**
|
24
|
+
If applicable, add screenshots to help explain your problem.
|
25
|
+
|
26
|
+
**Environment (please complete the following information):**
|
27
|
+
- OS: [e.g. Ubuntu 20, MacOS Big Suck, FreeBSD]
|
28
|
+
- Terminal Emulator [e.g Alacritty, Terminal.app (Mac's default one), GNOME Terminal (Ubuntu's default one), etc.]
|
29
|
+
- Output when you run `tput colors` in your terminal
|
30
|
+
- Output when you run `echo $TERM` in your terminal
|
31
|
+
- Output when you run `stty`
|
32
|
+
- Do you use tmux/screen or similar tty multiplexer?
|
@@ -0,0 +1,20 @@
|
|
1
|
+
---
|
2
|
+
name: Feature request
|
3
|
+
about: Suggest an idea for this project
|
4
|
+
title: ''
|
5
|
+
labels: enhancement
|
6
|
+
assignees: ''
|
7
|
+
|
8
|
+
---
|
9
|
+
|
10
|
+
**Is your feature request related to a problem? Please describe.**
|
11
|
+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
12
|
+
|
13
|
+
**Describe the solution you'd like**
|
14
|
+
A clear and concise description of what you want to happen.
|
15
|
+
|
16
|
+
**Describe alternatives you've considered**
|
17
|
+
A clear and concise description of any alternative solutions or features you've considered.
|
18
|
+
|
19
|
+
**Additional context**
|
20
|
+
Add any other context or screenshots about the feature request here.
|
@@ -0,0 +1,65 @@
|
|
1
|
+
name: documentation
|
2
|
+
|
3
|
+
on:
|
4
|
+
pull_request:
|
5
|
+
branches: [master]
|
6
|
+
push:
|
7
|
+
branches: [master]
|
8
|
+
|
9
|
+
jobs:
|
10
|
+
checks:
|
11
|
+
if: github.event_name != 'push'
|
12
|
+
runs-on: ubuntu-latest
|
13
|
+
steps:
|
14
|
+
- uses: actions/checkout@v1
|
15
|
+
- uses: actions/setup-node@v1
|
16
|
+
with:
|
17
|
+
node-version: '12.x'
|
18
|
+
- name: Test Build
|
19
|
+
run: |
|
20
|
+
cd website
|
21
|
+
if [ -e yarn.lock ]; then
|
22
|
+
yarn install --frozen-lockfile
|
23
|
+
elif [ -e package-lock.json ]; then
|
24
|
+
npm ci
|
25
|
+
else
|
26
|
+
npm i
|
27
|
+
fi
|
28
|
+
npm run build
|
29
|
+
gh-release:
|
30
|
+
if: github.event_name != 'pull_request'
|
31
|
+
runs-on: ubuntu-latest
|
32
|
+
steps:
|
33
|
+
- uses: actions/checkout@v1
|
34
|
+
- uses: actions/setup-node@v1
|
35
|
+
with:
|
36
|
+
node-version: '12.x'
|
37
|
+
- name: Add key to allow access to repository
|
38
|
+
env:
|
39
|
+
SSH_AUTH_SOCK: /tmp/ssh_agent.sock
|
40
|
+
run: |
|
41
|
+
mkdir -p ~/.ssh
|
42
|
+
ssh-keyscan github.com >> ~/.ssh/known_hosts
|
43
|
+
echo "${{ secrets.GH_PAGES_DEPLOY }}" > ~/.ssh/id_rsa
|
44
|
+
chmod 600 ~/.ssh/id_rsa
|
45
|
+
cat <<EOT >> ~/.ssh/config
|
46
|
+
Host github.com
|
47
|
+
HostName github.com
|
48
|
+
IdentityFile ~/.ssh/id_rsa
|
49
|
+
EOT
|
50
|
+
- name: Release to GitHub Pages
|
51
|
+
env:
|
52
|
+
USE_SSH: true
|
53
|
+
GIT_USER: git
|
54
|
+
run: |
|
55
|
+
git config --global user.email "actions@gihub.com"
|
56
|
+
git config --global user.name "gh-actions"
|
57
|
+
cd website
|
58
|
+
if [ -e yarn.lock ]; then
|
59
|
+
yarn install --frozen-lockfile
|
60
|
+
elif [ -e package-lock.json ]; then
|
61
|
+
npm ci
|
62
|
+
else
|
63
|
+
npm i
|
64
|
+
fi
|
65
|
+
npx docusaurus deploy
|
@@ -0,0 +1,96 @@
|
|
1
|
+
name: Rspec
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches:
|
6
|
+
- master
|
7
|
+
pull_request:
|
8
|
+
types: [opened, synchronize, reopened]
|
9
|
+
|
10
|
+
jobs:
|
11
|
+
rubocop:
|
12
|
+
runs-on: ubuntu-latest
|
13
|
+
steps:
|
14
|
+
- uses: actions/checkout@v2
|
15
|
+
- name: Set up Ruby
|
16
|
+
uses: ruby/setup-ruby@v1
|
17
|
+
with:
|
18
|
+
ruby-version: 2.5
|
19
|
+
- name: Install dependencies
|
20
|
+
run: bundle install
|
21
|
+
- name: Checking offenses
|
22
|
+
run: bundle exec rubocop
|
23
|
+
test-ubuntu:
|
24
|
+
strategy:
|
25
|
+
fail-fast: false
|
26
|
+
matrix:
|
27
|
+
ruby: [2.5, 2.6, 2.7.1, head]
|
28
|
+
runs-on: ubuntu-latest
|
29
|
+
steps:
|
30
|
+
- uses: actions/checkout@v2
|
31
|
+
- name: Set up Ruby
|
32
|
+
uses: ruby/setup-ruby@v1
|
33
|
+
with:
|
34
|
+
ruby-version: ${{ matrix.ruby }}
|
35
|
+
- name: Install tmux
|
36
|
+
run: sudo apt install -y tmux
|
37
|
+
- name: Start tmux
|
38
|
+
run: tmux start-server
|
39
|
+
- name: Start dummy tmux session
|
40
|
+
run: tmux new-session -t dummy -d
|
41
|
+
- name: Wait for tmux
|
42
|
+
run: ruby spec/wait_for_tmux.rb
|
43
|
+
- name: Install dependencies
|
44
|
+
run: bundle install
|
45
|
+
- name: Run tests
|
46
|
+
run: bundle exec parallel_rspec spec/
|
47
|
+
test-macos:
|
48
|
+
strategy:
|
49
|
+
fail-fast: false
|
50
|
+
matrix:
|
51
|
+
ruby: [2.5, 2.6, 2.7.1, head]
|
52
|
+
runs-on: macos-latest
|
53
|
+
steps:
|
54
|
+
- uses: actions/checkout@v2
|
55
|
+
- name: Set up Ruby
|
56
|
+
uses: ruby/setup-ruby@v1
|
57
|
+
with:
|
58
|
+
ruby-version: ${{ matrix.ruby }}
|
59
|
+
- name: Install tmux
|
60
|
+
run: brew install tmux
|
61
|
+
- name: Start tmux
|
62
|
+
run: tmux start-server
|
63
|
+
- name: start dummy tmux session
|
64
|
+
run: tmux new-session -t dummy -d
|
65
|
+
- name: Wait for tmux
|
66
|
+
run: ruby spec/wait_for_tmux.rb
|
67
|
+
- name: Install dependencies
|
68
|
+
run: bundle install
|
69
|
+
- name: Run tests
|
70
|
+
run: bundle exec parallel_rspec -n 2 spec/
|
71
|
+
test-byebug:
|
72
|
+
runs-on: ubuntu-latest
|
73
|
+
strategy:
|
74
|
+
fail-fast: false
|
75
|
+
matrix:
|
76
|
+
byebug: [9.1.0, 10.0.2]
|
77
|
+
env:
|
78
|
+
BUNDLE_GEMFILE: "./spec/gemfiles/Gemfile-byebug-${{ matrix.byebug }}"
|
79
|
+
steps:
|
80
|
+
- uses: actions/checkout@v2
|
81
|
+
- name: Set up Ruby
|
82
|
+
uses: ruby/setup-ruby@v1
|
83
|
+
with:
|
84
|
+
ruby-version: 2.5
|
85
|
+
- name: Install tmux
|
86
|
+
run: sudo apt install -y tmux
|
87
|
+
- name: Start tmux
|
88
|
+
run: tmux start-server
|
89
|
+
- name: start dummy tmux session
|
90
|
+
run: tmux new-session -t dummy -d
|
91
|
+
- name: Wait for tmux
|
92
|
+
run: ruby spec/wait_for_tmux.rb
|
93
|
+
- name: Install dependencies
|
94
|
+
run: bundle install
|
95
|
+
- name: Run tests
|
96
|
+
run: bundle exec parallel_rspec spec/
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
@@ -1,13 +1,101 @@
|
|
1
|
+
require: rubocop-rspec
|
2
|
+
|
3
|
+
Metrics/BlockLength:
|
4
|
+
Exclude:
|
5
|
+
- 'spec/**/*.rb'
|
6
|
+
Lint/NonLocalExitFromIterator:
|
7
|
+
Enabled: false
|
8
|
+
Naming/MethodParameterName:
|
9
|
+
Enabled: false
|
1
10
|
Style/SymbolArray:
|
2
11
|
Enabled: false
|
12
|
+
Style/GuardClause:
|
13
|
+
Enabled: false
|
14
|
+
Style/NumericPredicate:
|
15
|
+
Enabled: false
|
16
|
+
Style/IfUnlessModifier:
|
17
|
+
Enabled: false
|
3
18
|
Metrics/MethodLength:
|
4
|
-
Max:
|
19
|
+
Max: 30
|
5
20
|
Metrics/PerceivedComplexity:
|
6
21
|
Max: 15
|
22
|
+
Metrics/CyclomaticComplexity:
|
23
|
+
Max: 15
|
24
|
+
Metrics/AbcSize:
|
25
|
+
Enabled: false
|
7
26
|
Metrics/ParameterLists:
|
8
27
|
Enabled: false
|
9
28
|
Metrics/ClassLength:
|
10
29
|
Enabled: false
|
30
|
+
Layout/HashAlignment:
|
31
|
+
Enabled: false
|
32
|
+
Layout/EmptyLinesAroundAttributeAccessor:
|
33
|
+
Enabled: true
|
34
|
+
Layout/SpaceAroundMethodCallOperator:
|
35
|
+
Enabled: true
|
36
|
+
Lint/DeprecatedOpenSSLConstant:
|
37
|
+
Enabled: true
|
38
|
+
Lint/DuplicateElsifCondition:
|
39
|
+
Enabled: true
|
40
|
+
Lint/MixedRegexpCaptureTypes:
|
41
|
+
Enabled: true
|
42
|
+
Lint/RaiseException:
|
43
|
+
Enabled: true
|
44
|
+
Lint/StructNewOverride:
|
45
|
+
Enabled: true
|
46
|
+
Style/AccessorGrouping:
|
47
|
+
Enabled: true
|
48
|
+
Style/ArrayCoercion:
|
49
|
+
Enabled: true
|
50
|
+
Style/BisectedAttrAccessor:
|
51
|
+
Enabled: true
|
52
|
+
Style/CaseLikeIf:
|
53
|
+
Enabled: true
|
54
|
+
Style/ExponentialNotation:
|
55
|
+
Enabled: true
|
56
|
+
Style/HashAsLastArrayItem:
|
57
|
+
Enabled: true
|
58
|
+
Style/HashEachMethods:
|
59
|
+
Enabled: true
|
60
|
+
Style/HashLikeCase:
|
61
|
+
Enabled: true
|
62
|
+
Style/HashTransformKeys:
|
63
|
+
Enabled: true
|
64
|
+
Style/HashTransformValues:
|
65
|
+
Enabled: true
|
66
|
+
Style/RedundantAssignment:
|
67
|
+
Enabled: true
|
68
|
+
Style/RedundantFetchBlock:
|
69
|
+
Enabled: true
|
70
|
+
Style/RedundantFileExtensionInRequire:
|
71
|
+
Enabled: true
|
72
|
+
Style/RedundantRegexpCharacterClass:
|
73
|
+
Enabled: true
|
74
|
+
Style/RedundantRegexpEscape:
|
75
|
+
Enabled: true
|
76
|
+
Style/SlicingWithRange:
|
77
|
+
Enabled: true
|
78
|
+
Style/Alias:
|
79
|
+
EnforcedStyle: prefer_alias_method
|
80
|
+
Style/EvalWithLocation:
|
81
|
+
Enabled: false
|
82
|
+
Style/NilComparison:
|
83
|
+
Enabled: false
|
84
|
+
Style/NonNilCheck:
|
85
|
+
Enabled: false
|
86
|
+
|
87
|
+
RSpec/MultipleExpectations:
|
88
|
+
Enabled: false
|
89
|
+
RSpec/ExampleLength:
|
90
|
+
Enabled: false
|
91
|
+
RSpec/DescribeClass:
|
92
|
+
Enabled: false
|
93
|
+
RSpec/NestedGroups:
|
94
|
+
Max: 4
|
95
|
+
RSpec/MultipleMemoizedHelpers:
|
96
|
+
Enabled: false
|
97
|
+
|
11
98
|
AllCops:
|
12
99
|
TargetRubyVersion: 2.5
|
13
|
-
|
100
|
+
Exclude:
|
101
|
+
- '**/*_example.rb'
|
data/CHANGELOG.md
CHANGED
@@ -0,0 +1,112 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
## [0.3.0 - Beta 1]
|
4
|
+
- Filter feature
|
5
|
+
- New variable screen look and feel
|
6
|
+
- Improve website and documentation page.
|
7
|
+
- Improve color-scheme command
|
8
|
+
- Use Thread sequential label instead of Thread's object id
|
9
|
+
- Complete testing infrastructure.
|
10
|
+
- Fix multiple performance issues.
|
11
|
+
|
12
|
+
### Bug fixes
|
13
|
+
- Solve program output performance degrade ([#21](https://github.com/nguyenquangminh0711/ruby_jard/pull/21))
|
14
|
+
|
15
|
+
## [0.2.3 - Final Alpha]
|
16
|
+
|
17
|
+
### UX/UI
|
18
|
+
- Add `gruvbox`, `256-light`, `one-half-dark`, and `one-half-light` color scheme
|
19
|
+
- Add `jard output` command
|
20
|
+
- Add `jard hide` command
|
21
|
+
- Add `jard show` command
|
22
|
+
- Add `alias_to_debugger`, `enabled_screens` option
|
23
|
+
- Add responsive layouts to fit into different screen sizes
|
24
|
+
- Auto-adjust screens to utilize spaces on the screen
|
25
|
+
- Move variable screen to the right again (sorry :pray:)
|
26
|
+
- Small colorless friendly adjustment to variable and thread marks
|
27
|
+
|
28
|
+
### Bug fixes
|
29
|
+
- Jard doesn't work when place at the end of a method, or a block.
|
30
|
+
- Box title overflow
|
31
|
+
- Source screen doesn't work well with anonymous evaluation, or `ruby -e`
|
32
|
+
- Auto-completion with tab of pry (actually readline) is broken
|
33
|
+
- Could not exit when starting Jard inside irb
|
34
|
+
- Repl is broken if the keyboard repeat rate is too high.
|
35
|
+
- Fix broken frame command
|
36
|
+
|
37
|
+
### Internal & Refactoring
|
38
|
+
- Add tests for critical sections
|
39
|
+
- Use PTY to feed output from pry to actual STDOUT
|
40
|
+
- Use a custom pager to allow internal customization
|
41
|
+
- Improve performance of Jard when working with process with plenty of threads
|
42
|
+
- Handle key-binding spamming well
|
43
|
+
- Lazily load screen data
|
44
|
+
- Support byebug >= 9.1.0
|
45
|
+
|
46
|
+
## [0.2.2 - Alpha 4]
|
47
|
+
|
48
|
+
### UX/UI
|
49
|
+
- Add `wehereami` as an alias for `list` command
|
50
|
+
- Add `theme` command to switch theme at runtime
|
51
|
+
- Load configuration file when Jard starts
|
52
|
+
|
53
|
+
### Bug fixes
|
54
|
+
- Backward compatible issue: Array#filter is available in ruby 2.5.x and above.
|
55
|
+
- Fix Jard is bypassed when writting something to stdout while debugging (https://github.com/nguyenquangminh0711/ruby_jard/pull/5)
|
56
|
+
|
57
|
+
## [0.2.1 - Alpha 3] - Render mechanism and theme system
|
58
|
+
### UX/UI
|
59
|
+
- New color scheme: 256, as the default color scheme. It works well with all 256-color terminal emulators.
|
60
|
+
- New color scheme: deep-space. It's a 24-bit color scheme.
|
61
|
+
- UX change: swap positions of default panels:
|
62
|
+
```
|
63
|
+
Source | Backtrace
|
64
|
+
Variables | Threads
|
65
|
+
```
|
66
|
+
- New narrow layout, which consists of source and variables only. Useful when running tests.
|
67
|
+
- Add aliases to common commands
|
68
|
+
### Bug fixes
|
69
|
+
- https://github.com/nguyenquangminh0711/ruby_jard/issues/2
|
70
|
+
- Fix display bug that some rows are out of screen if above rows have word wraps.
|
71
|
+
### Internal Refactoring
|
72
|
+
- New rendering mechanism, that supports data windowing, selection locating, and cursor.
|
73
|
+
- Improve compatibility, and add fallbacks in case io/console, or tput are not available.
|
74
|
+
|
75
|
+
## [0.2.0 - Alpha 2] - UI completeness
|
76
|
+
|
77
|
+
### UX/UI
|
78
|
+
- Improve box drawing.
|
79
|
+
- Isolate jard-related UI in an alternative termnial, just like Vim or Less.
|
80
|
+
- Restore printed information from STDOUT and STDERR after jard exits.
|
81
|
+
- Support keyboard shortcut.
|
82
|
+
- Support erb, haml highlighting.
|
83
|
+
- Increase contrast and enhance color scheme.
|
84
|
+
- Remove `finish` command.
|
85
|
+
- Add `frame` command.
|
86
|
+
- Add `step-out` command.
|
87
|
+
- Remove useless inline variables.
|
88
|
+
- Indicate types and inline variables in variable screen.
|
89
|
+
|
90
|
+
### Bug fixes
|
91
|
+
- Fix line number and loc mismatching if the current source viewport is at the start of the file.
|
92
|
+
- Multiple layout broken, overlapping text glitches.
|
93
|
+
|
94
|
+
### Internal & Refactoring
|
95
|
+
- Refactor screen's data flow.
|
96
|
+
- Standardize control flow.
|
97
|
+
- Replace `tty-cursor`, `tty-screen` by native Ruby alternative.
|
98
|
+
- Replace `tty-box` by home-growing solution.
|
99
|
+
- Remove text decorator.
|
100
|
+
- Implement color decorator
|
101
|
+
- Implement keybinding register and matching mechanism.
|
102
|
+
- Implement ReplProxy to wrap around Pry instance.
|
103
|
+
- Utility to debug and benchmark.
|
104
|
+
|
105
|
+
## [0.1.0 - Alpha 1] - Alpha initial version
|
106
|
+
**Release date**: July 1st 2020
|
107
|
+
|
108
|
+
- Default Terminal UI, in which the layout and display are responsive to support different screen size.
|
109
|
+
- Highlighted source code screen.
|
110
|
+
- Stacktrace visulization and navigation.
|
111
|
+
- Auto explore and display variables in the current context.
|
112
|
+
- Multi-thread exploration and debugging.
|