janito 1.11.0__py3-none-any.whl → 1.12.1__py3-none-any.whl

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.
@@ -15,7 +15,12 @@ def walk_directory(search_path, max_depth):
15
15
 
16
16
 
17
17
  def filter_dirs(dirs, root, gitignore_filter):
18
- return [d for d in dirs if not gitignore_filter.is_ignored(os.path.join(root, d))]
18
+ # Always exclude directories named .git, regardless of gitignore
19
+ return [
20
+ d
21
+ for d in dirs
22
+ if d != ".git" and not gitignore_filter.is_ignored(os.path.join(root, d))
23
+ ]
19
24
 
20
25
 
21
26
  def process_file_count_only(
@@ -31,18 +31,29 @@ body.light-theme {
31
31
  min-height: 0;
32
32
  padding: 0;
33
33
  margin: 0;
34
- height: 100%;
35
34
  }
36
35
  .editor-pane {
37
36
  flex: 1 1 auto;
38
37
  display: flex;
39
38
  flex-direction: column;
40
- height: 100%;
41
39
  min-height: 0;
42
40
  padding: 0;
43
41
  margin: 0;
44
42
  }
45
43
  /* Removed custom .CodeMirror background/color to use CodeMirror's theme defaults */
44
+
45
+ /* Ensure editor fills available space */
46
+ .editor-pane textarea, .editor-pane .CodeMirror {
47
+ flex: 1 1 auto;
48
+ width: 100%;
49
+ height: 100%;
50
+ min-height: 0;
51
+ min-width: 0;
52
+ box-sizing: border-box;
53
+ resize: none;
54
+ display: block;
55
+ }
56
+
46
57
  .header {
47
58
  background: #222;
48
59
  color: #fff;
@@ -86,16 +97,18 @@ body.light-theme .filename-display {
86
97
  }
87
98
 
88
99
  .footer {
100
+ position: relative;
101
+ flex-shrink: 0;
89
102
  width: 100%;
90
- background: #23272b;
103
+ background: #222;
91
104
  color: #fff;
92
105
  padding: 4px 12px;
93
106
  box-sizing: border-box;
94
107
  display: flex;
95
108
  align-items: center;
96
- justify-content: flex-start;
109
+ justify-content: space-between;
97
110
  border-top: 1px solid #333;
98
- min-height: 28px;
111
+ height: 36px;
99
112
  font-size: 0.95em;
100
113
  }
101
114
 
@@ -12,23 +12,24 @@
12
12
  </head>
13
13
  <body>
14
14
  <div class="header">
15
- <div class="header-title">Janito Light Editor</div>
16
- <span id="filename-display" class="filename-display"></span>
17
- <div style="flex:1 1 auto;"></div>
18
- <button class="theme-switcher" id="theme-switcher" title="Alternator tema">
19
- <span id="theme-icon" aria-label="Switch theme" style="pointer-events:none;">🌙</span>
20
- </button>
21
- </div>
22
- <div class="footer">
23
- <button class="save-btn" id="save-btn">Save</button>
15
+ <div class="header-title">Janito Light Editor</div>
16
+ <span id="filename-display" class="filename-display"></span>
17
+ <div style="flex:1 1 auto;"></div>
18
+ <button class="theme-switcher" id="theme-switcher" title="Alternator tema">
19
+ <span id="theme-icon" aria-label="Switch theme" style="pointer-events:none;">🌙</span>
20
+ </button>
24
21
  </div>
25
- <div id="save-popup" style="display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999;background:#323b4c;color:#fff;padding:14px 28px;border-radius:8px;box-shadow:0 2px 12px #0007;font-size:1.1em;">Saved!</div>
26
22
  <div class="main">
27
23
  <div class="editor-pane">
28
24
  <textarea id="code" name="code"></textarea>
29
- <div id="save-popup" style="display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999;background:#323b4c;color:#fff;padding:14px 28px;border-radius:8px;box-shadow:0 2px 12px #0007;font-size:1.1em;">Saved!</div>
25
+ <div id="save-popup" style="display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999;background:#2196f3;color:#fff;padding:14px 28px;border-radius:8px;box-shadow:0 4px 16px #1976d288;border:2px solid #1976d2;font-size:1.1em;">Saved!</div>
30
26
  </div>
31
27
  </div>
28
+ <div class="footer">
29
+ <button class="save-btn" id="save-btn">Save</button>
30
+
31
+ </div>
32
+ <div id="save-popup" style="display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999;background:#2196f3;color:#fff;padding:14px 28px;border-radius:8px;box-shadow:0 4px 16px #1976d288;border:2px solid #1976d2;font-size:1.1em;">Saved!</div>
32
33
  <script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.13/codemirror.min.js"></script>
33
34
  <script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.13/mode/python/python.min.js"></script>
34
35
  <script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.13/mode/django/django.min.js"></script>
@@ -12,22 +12,24 @@
12
12
  </head>
13
13
  <body>
14
14
  <div class="header">
15
- <div class="header-title">Janito Light Editor</div>
16
- <span id="filename-display" class="filename-display"></span>
17
- <div style="flex:1 1 auto;"></div>
18
- <button class="theme-switcher" id="theme-switcher" title="Alternator tema">
19
- <span id="theme-icon" aria-label="Switch theme" style="pointer-events:none;">🌙</span>
20
- </button>
21
- </div>
22
- <div class="footer">
23
- <button class="save-btn" id="save-btn">Save</button>
15
+ <div class="header-title">Janito Light Editor</div>
16
+ <span id="filename-display" class="filename-display"></span>
17
+ <div style="flex:1 1 auto;"></div>
18
+ <button class="theme-switcher" id="theme-switcher" title="Alternator tema">
19
+ <span id="theme-icon" aria-label="Switch theme" style="pointer-events:none;">🌙</span>
20
+ </button>
24
21
  </div>
25
- <div id="save-popup" style="display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999;background:#323b4c;color:#fff;padding:14px 28px;border-radius:8px;box-shadow:0 2px 12px #0007;font-size:1.1em;">Saved!</div>
26
22
  <div class="main">
27
23
  <div class="editor-pane">
28
24
  <textarea id="code" name="code"></textarea>
25
+ <div id="save-popup" style="display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999;background:#323b4c;color:#fff;padding:14px 28px;border-radius:8px;box-shadow:0 2px 12px #0007;font-size:1.1em;">Saved!</div>
29
26
  </div>
30
27
  </div>
28
+ <div class="footer">
29
+ <button class="save-btn" id="save-btn">Save</button>
30
+
31
+ </div>
32
+ <div id="save-popup" style="display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999;background:#323b4c;color:#fff;padding:14px 28px;border-radius:8px;box-shadow:0 2px 12px #0007;font-size:1.1em;">Saved!</div>
31
33
  <script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.13/codemirror.min.js"></script>
32
34
  <script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.13/mode/python/python.min.js"></script>
33
35
  <script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.13/mode/django/django.min.js"></script>
@@ -91,6 +91,8 @@ document.addEventListener('DOMContentLoaded', function() {
91
91
  editorInstance.setOption('mode', mode);
92
92
  }
93
93
  window.editorInstance = editorInstance;
94
+
95
+
94
96
  // Add Ctrl-F handler for find
95
97
  editorInstance.addKeyMap({
96
98
  'Ctrl-F': function(cm) {
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: janito
3
- Version: 1.11.0
3
+ Version: 1.12.1
4
4
  Summary: Natural Language Coding Agent,
5
5
  Author-email: João Pinto <joao.pinto@gmail.com>
6
6
  License-Expression: MIT
@@ -65,7 +65,7 @@ janito/agent/tools/search_text/__init__.py,sha256=FEYpF5tTtf0fiAyRGIGSn-kV-MJDkh
65
65
  janito/agent/tools/search_text/core.py,sha256=6B6ElILXKoupq29PTp9PIHD3-cySFDzRC4wLBxsvc-M,6740
66
66
  janito/agent/tools/search_text/match_lines.py,sha256=OjYgX9vFphambv0SfTLGZoR5Cdzf-Fp5Ytbj4sGEgnI,1999
67
67
  janito/agent/tools/search_text/pattern_utils.py,sha256=j_Svq_l-RT63VVAI9nj1ULm1qdU2JTsWKrVVaAgyRoo,2129
68
- janito/agent/tools/search_text/traverse_directory.py,sha256=fLYQL2C5YUrN0ec7R0rAHgBMwoiMrkXmcK1KpEt-M6c,3744
68
+ janito/agent/tools/search_text/traverse_directory.py,sha256=Ln_GaJFQ0DQ4A2qBZ1Y4tX7YMFROhonFgTHf48DDXHQ,3864
69
69
  janito/agent/tools/validate_file_syntax/__init__.py,sha256=P53RHmas4BbHL90cMxH9m-RpMCJI8JquoJb0rpkPVVk,29
70
70
  janito/agent/tools/validate_file_syntax/core.py,sha256=jUT4m-4i6hcFh4U1eCpt4V5xbpKMrlCZyHdr2Ca25SY,3407
71
71
  janito/agent/tools/validate_file_syntax/css_validator.py,sha256=tRnCzNkpiYKQ_X9yvPeDPqZvc59He2T-2CbXmCs8Hjw,1371
@@ -130,11 +130,11 @@ janito/shell/session/history.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSu
130
130
  janito/shell/session/manager.py,sha256=LGf2x9mprGOHAJhq7_OfIZM8Z2bmAEJ_KakaZr1XqXc,3116
131
131
  janito/shell/ui/interactive.py,sha256=sD7z_kXKDW4sMVA3dZ9RslThuaJfLJh1mURgIsiTmVk,7716
132
132
  janito/termweb/app.py,sha256=co4a7cw6pC2P79dMZaNxjPJrP_B9suTGRIWTgqK5ccw,3322
133
- janito/termweb/static/editor.css,sha256=i1kha-ZpAUaO-gc81lQKAYNQ_QETJ_KlT8JBwdgf2nc,2914
133
+ janito/termweb/static/editor.css,sha256=71xpzRL993GPKKJPfTVcPI6iHhjnUg2U5-z33EAuTWA,3185
134
134
  janito/termweb/static/editor.css.bak,sha256=S7tMjZFtcDZyx4asRf-WNclyuK9_rnemwOc6JpzSwdQ,2908
135
- janito/termweb/static/editor.html,sha256=1gsMiBVPoIQF6saFnrkMIUcv7JkDLvmo7GspvGO3Bt8,2973
136
- janito/termweb/static/editor.html.bak,sha256=31gL8ew2Yd9uwg0vEStd6-sJnqvh0Xs75rbq-TnOHGg,2715
137
- janito/termweb/static/editor.js,sha256=_Qwvsna3lAMlb0N-pvDHs9DWIC3-Qz8zGgB6CZpG-44,10155
135
+ janito/termweb/static/editor.html,sha256=tqUZUWxmL6NRWoPI4fgtz2UIdK4k2Y7BnoEBiGJ-ILA,3069
136
+ janito/termweb/static/editor.html.bak,sha256=7gXtQjd6psAVVdfXnqe1fhtDnKQxaNmnlaLgJvgt8pY,3011
137
+ janito/termweb/static/editor.js,sha256=PV0EQMqWsxqVUu5VsFk5qNOo6WF7o0ZLSvIP4CpUZLY,10159
138
138
  janito/termweb/static/editor.js.bak,sha256=O91nykKXaG2EwU4BtKmmR9Zqa42lRK-VYMQ00_a129M,9998
139
139
  janito/termweb/static/explorer.html.bak,sha256=PM1fcbaQJm545WT94mVEekUNW3jduBAHOz6rwJBR1FA,2568
140
140
  janito/termweb/static/favicon.ico,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -155,9 +155,9 @@ janito/tests/test_rich_utils.py,sha256=S_mGVynekAP0DM4A_ZaY-SseJGtdlBJxOlzc-v8lJ
155
155
  janito/web/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
156
156
  janito/web/__main__.py,sha256=5Ck6okOZmxKYkQ-ir4mxXDH7XWMNR-9szgsm0UyQLE0,734
157
157
  janito/web/app.py,sha256=-zUBA1zlnrZdYbI421CSAgFZXOisLmIznNzUJrkSLQQ,4762
158
- janito-1.11.0.dist-info/licenses/LICENSE,sha256=sHBqv0bvtrb29H7WRR-Z603YHm9pLtJIo3nHU_9cmgE,1091
159
- janito-1.11.0.dist-info/METADATA,sha256=BMQ_IJdtHHqpgEGMGo0ikUWlnwai0hTpivXv9yN3cFQ,12879
160
- janito-1.11.0.dist-info/WHEEL,sha256=DnLRTWE75wApRYVsjgc6wsVswC54sMSJhAEd4xhDpBk,91
161
- janito-1.11.0.dist-info/entry_points.txt,sha256=wIo5zZxbmu4fC-ZMrsKD0T0vq7IqkOOLYhrqRGypkx4,48
162
- janito-1.11.0.dist-info/top_level.txt,sha256=m0NaVCq0-ivxbazE2-ND0EA9Hmuijj_OGkmCbnBcCig,7
163
- janito-1.11.0.dist-info/RECORD,,
158
+ janito-1.12.1.dist-info/licenses/LICENSE,sha256=sHBqv0bvtrb29H7WRR-Z603YHm9pLtJIo3nHU_9cmgE,1091
159
+ janito-1.12.1.dist-info/METADATA,sha256=d4kM5viNhCUQ2SXPFhW7h5w0fEhtZpYoKwPlvLUJUFM,12879
160
+ janito-1.12.1.dist-info/WHEEL,sha256=DnLRTWE75wApRYVsjgc6wsVswC54sMSJhAEd4xhDpBk,91
161
+ janito-1.12.1.dist-info/entry_points.txt,sha256=wIo5zZxbmu4fC-ZMrsKD0T0vq7IqkOOLYhrqRGypkx4,48
162
+ janito-1.12.1.dist-info/top_level.txt,sha256=m0NaVCq0-ivxbazE2-ND0EA9Hmuijj_OGkmCbnBcCig,7
163
+ janito-1.12.1.dist-info/RECORD,,