nadesiko3 3.8.1 → 3.8.8
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.
- package/README.md +32 -73
- package/batch/analize-code-line.nako3 +39 -0
- package/batch/command.txt +1278 -476
- package/batch/doctest.mjs +43 -14
- package/batch/merge_gonako_commands.nako3 +98 -0
- package/batch/pickup_command.nako3 +4 -0
- package/batch/search_command.nako3 +2 -2
- package/core/package-lock.json +519 -0
- package/core/package.json +3 -3
- package/core/src/nako_ast.mts +6 -0
- package/core/src/nako_core_version.mjs +2 -2
- package/core/src/nako_core_version.mts +2 -2
- package/core/src/nako_csv.mjs +49 -27
- package/core/src/nako_csv.mts +49 -28
- package/core/src/nako_dncl_ensure_array.mjs +29 -0
- package/core/src/nako_dncl_ensure_array.mts +29 -0
- package/core/src/nako_from_dncl.mjs +944 -56
- package/core/src/nako_from_dncl.mts +738 -51
- package/core/src/nako_gen.mjs +226 -46
- package/core/src/nako_gen.mts +223 -50
- package/core/src/nako_global.mjs +7 -0
- package/core/src/nako_global.mts +12 -0
- package/core/src/nako_inc_value.mjs +30 -0
- package/core/src/nako_inc_value.mts +26 -0
- package/core/src/nako_josi_list.mjs +15 -0
- package/core/src/nako_josi_list.mts +16 -0
- package/core/src/nako_lex_rules.mjs +5 -17
- package/core/src/nako_lex_rules.mts +5 -13
- package/core/src/nako_lexer.mjs +8 -11
- package/core/src/nako_lexer.mts +8 -9
- package/core/src/nako_parser3.mjs +51 -20
- package/core/src/nako_parser3.mts +58 -24
- package/core/src/nako_parser_message.mjs +5 -0
- package/core/src/nako_parser_message.mts +5 -0
- package/core/src/nako_tokenizer.mjs +3 -2
- package/core/src/nako_tokenizer.mts +3 -2
- package/core/src/plugin_api.mts +2 -1
- package/core/src/plugin_promise.mjs +5 -0
- package/core/src/plugin_promise.mts +5 -0
- package/core/src/plugin_system.mjs +11 -6
- package/core/src/plugin_system.mts +11 -6
- package/core/src/plugin_system_array.mjs +48 -20
- package/core/src/plugin_system_array.mts +45 -16
- package/core/src/plugin_system_datetime.mjs +2 -7
- package/core/src/plugin_system_datetime.mts +2 -7
- package/core/src/plugin_system_debug.mjs +2 -6
- package/core/src/plugin_system_debug.mts +2 -4
- package/core/src/plugin_system_math.mjs +11 -5
- package/core/src/plugin_system_math.mts +11 -5
- package/core/src/plugin_system_string.mjs +64 -32
- package/core/src/plugin_system_string.mts +63 -26
- package/core/src/plugin_system_timer.mjs +2 -6
- package/core/src/plugin_system_timer.mts +2 -2
- package/core/src/plugin_system_url.mjs +12 -29
- package/core/src/plugin_system_url.mts +10 -24
- package/core/src/url_util.mjs +35 -0
- package/core/src/url_util.mts +35 -0
- package/core/test/array_hang_test.mjs +169 -0
- package/core/test/array_test.mjs +58 -0
- package/core/test/calc_test.mjs +63 -1
- package/core/test/compat_fixture_test.mjs +49 -0
- package/core/test/dncl2_test.mjs +5 -0
- package/core/test/dncl_test.mjs +696 -0
- package/core/test/fixtures/README.md +9 -0
- package/core/test/fixtures/compat/README.md +85 -0
- package/core/test/fixtures/compat/SPEC.md +133 -0
- package/core/test/fixtures/compat/cases/01_literal.json +44 -0
- package/core/test/fixtures/compat/cases/02_operator.json +174 -0
- package/core/test/fixtures/compat/cases/03_type_convert.json +177 -0
- package/core/test/fixtures/compat/cases/04_string.json +282 -0
- package/core/test/fixtures/compat/cases/05_array.json +188 -0
- package/core/test/fixtures/compat/cases/06_dict.json +93 -0
- package/core/test/fixtures/compat/cases/07_flow.json +24 -0
- package/core/test/fixtures/compat/cases/08_func.json +94 -0
- package/core/test/fixtures/compat/cases/09_error.json +16 -0
- package/core/test/fixtures/compat/cases/10_async.json +48 -0
- package/core/test/fixtures/compat/cases/11_regexp.json +78 -0
- package/core/test/fixtures/compat/check_compat.mjs +133 -0
- package/core/test/fixtures/compat/compat_case.mjs +171 -0
- package/core/test/fixtures/compat/expected/01_literal.json +377 -0
- package/core/test/fixtures/compat/expected/02_operator.json +195 -0
- package/core/test/fixtures/compat/expected/03_type_convert.json +263 -0
- package/core/test/fixtures/compat/expected/04_string.json +333 -0
- package/core/test/fixtures/compat/expected/05_array.json +665 -0
- package/core/test/fixtures/compat/expected/06_dict.json +279 -0
- package/core/test/fixtures/compat/expected/07_flow.json +125 -0
- package/core/test/fixtures/compat/expected/08_func.json +146 -0
- package/core/test/fixtures/compat/expected/09_error.json +87 -0
- package/core/test/fixtures/compat/expected/10_async.json +39 -0
- package/core/test/fixtures/compat/expected/11_regexp.json +85 -0
- package/core/test/fixtures/compat/make_compat_golden.mjs +39 -0
- package/core/test/fixtures/parser_ast_golden.json +9 -29
- package/core/test/func_call.mjs +40 -0
- package/core/test/func_test.mjs +12 -0
- package/core/test/lex_test.mjs +30 -0
- package/core/test/nako_basic_plugins_test.mjs +23 -0
- package/core/test/pad_hang_test.mjs +58 -0
- package/core/test/plugin_csv_test.mjs +129 -2
- package/core/test/plugin_system_test.mjs +713 -0
- package/core/test/refrain_hang_test.mjs +51 -0
- package/doc/command_list.json +7877 -485
- package/doc/doctest.md +28 -7
- package/doc/gonako.md +470 -0
- package/doc/plugins.md +9 -1
- package/doc/search_command.md +15 -1
- package/package.json +8 -7
- package/release/_hash.txt +48 -48
- package/release/_script-tags.txt +16 -16
- package/release/command.json +1 -1
- package/release/command.json.js +1 -1
- package/release/command_cnako3.json +1 -1
- package/release/command_list.json +1 -1
- package/release/edit_main.js +13 -13
- package/release/edit_main.js.map +3 -3
- package/release/editor.js +13 -13
- package/release/plugin_kansuji.js +1 -1
- package/release/plugin_kansuji.js.map +3 -3
- package/release/plugin_markup.js +43 -41
- package/release/plugin_markup.js.map +3 -3
- package/release/plugin_turtle.js +1 -1
- package/release/plugin_turtle.js.map +3 -3
- package/release/plugin_webworker.js +2 -2
- package/release/plugin_webworker.js.map +2 -2
- package/release/plugin_weykturtle3d.js +1 -1
- package/release/plugin_weykturtle3d.js.map +2 -2
- package/release/version.js +7 -7
- package/release/version_main.js +7 -7
- package/release/version_main.js.map +3 -3
- package/release/wnako3.js +263 -228
- package/release/wnako3.js.map +4 -4
- package/release/wnako3webworker.js +212 -204
- package/release/wnako3webworker.js.map +4 -4
- package/src/cnako3mod.mjs +2 -1
- package/src/cnako3mod.mts +2 -1
- package/src/nako_version.mjs +2 -2
- package/src/nako_version.mts +2 -2
- package/src/plugin_browser.mjs +22 -33
- package/src/plugin_browser.mts +21 -28
- package/src/plugin_browser_ajax.mjs +7 -2
- package/src/plugin_browser_ajax.mts +7 -2
- package/src/plugin_browser_api.mts +2 -2
- package/src/plugin_browser_canvas.mjs +1 -1
- package/src/plugin_browser_canvas.mts +1 -1
- package/src/plugin_browser_crypto.mjs +1 -1
- package/src/plugin_browser_crypto.mts +1 -1
- package/src/plugin_browser_dialog.mjs +115 -17
- package/src/plugin_browser_dialog.mts +103 -17
- package/src/plugin_browser_dialog_dom.mjs +247 -0
- package/src/plugin_browser_dialog_dom.mts +258 -0
- package/src/plugin_browser_dom_basic.mjs +1 -1
- package/src/plugin_browser_dom_basic.mts +1 -1
- package/src/plugin_browser_dom_event.mjs +23 -26
- package/src/plugin_browser_dom_event.mts +23 -24
- package/src/plugin_browser_geolocation.mjs +2 -8
- package/src/plugin_browser_geolocation.mts +2 -4
- package/src/plugin_browser_hotkey.mjs +1 -1
- package/src/plugin_browser_hotkey.mts +1 -1
- package/src/plugin_browser_html.mjs +1 -3
- package/src/plugin_browser_html.mts +1 -1
- package/src/plugin_browser_speech.mjs +1 -0
- package/src/plugin_browser_speech.mts +1 -0
- package/src/plugin_browser_websocket.mjs +3 -3
- package/src/plugin_browser_websocket.mts +3 -3
- package/src/plugin_httpserver.mjs +367 -50
- package/src/plugin_httpserver.mts +333 -50
- package/src/plugin_kansuji.mjs +59 -34
- package/src/plugin_node.mjs +109 -67
- package/src/plugin_node.mts +108 -66
- package/src/plugin_turtle.mjs +3 -7
- package/src/plugin_turtle.mts +3 -5
- package/src/plugin_webworker.mjs +3 -3
- package/src/plugin_weykturtle3d.mjs +2 -0
- package/src/plugin_weykturtle3d.mts +2 -0
- package/src/plugin_worker.mjs +2 -2
- package/test/common/plugin_browser_ut_audio_test.mjs +6 -7
- package/test/common/plugin_browser_ut_dialog_test.mjs +66 -71
- package/test/doctest/cnako_basic.txt +12 -0
- package/test/doctest/wnako_canvas.txt +8 -0
- package/test/doctest/wnako_dom.txt +14 -0
- package/test/doctest/wnako_event.txt +10 -0
- package/test/node/ajax_content_test.mjs +43 -0
- package/test/node/analize_code_line_test.mjs +48 -0
- package/test/node/doctest_test.mjs +55 -14
- package/test/node/merge_gonako_commands_test.mjs +171 -0
- package/test/node/node_test.mjs +50 -17
- package/test/node/package_json_test.mjs +14 -0
- package/test/node/plugin_browser_dialog_test.mjs +379 -0
- package/test/node/plugin_browser_test.mjs +64 -0
- package/test/node/plugin_browser_ut_location_test.mjs +3 -5
- package/test/node/plugin_httpserver_test.mjs +480 -15
- package/test/node/plugin_kansuji_test.mjs +142 -0
- package/test/node/plugin_node_test.mjs +355 -26
- package/test/node/plugin_worker_test.mjs +43 -0
- package/test/node/add_test.nako3 +0 -1
package/README.md
CHANGED
|
@@ -5,26 +5,31 @@
|
|
|
5
5
|
|
|
6
6
|
## 「なでしこ3」とは
|
|
7
7
|
|
|
8
|
-
「なでしこ3
|
|
8
|
+
「なでしこ3」とは、日本語のプログラミング言語です。「誰でも簡単プログラマー」を合い言葉に開発しています。
|
|
9
|
+
日本語プログラミング言語は、読みやすく理解しやすいのが特徴で、初めてでも楽しくプログラミングを覚えることができます。
|
|
10
|
+
日本語話者にとって、母国語で行うプログラミング教育にも最適です!
|
|
11
|
+
また、なでしこは、もともと業務改善のためのツールとして開発されましたので、定型処理やバッチ処理などを手軽に記述するのも得意です。ゲームやツール、さまざまな用途でお使いいただけます。
|
|
9
12
|
|
|
10
13
|
- [なでしこのWebサイト](https://nadesi.com/)
|
|
11
14
|
- [マニュアル](https://nadesi.com/v3/doc/)
|
|
12
15
|
|
|
13
16
|
はじめて「なでしこ」に挑戦する方は、次のチュートリアルから始めることをオススメします。日本語プログラミング言語の雰囲気が容易に理解できます。
|
|
14
17
|
|
|
15
|
-
- [チュートリアル](https://nadesi.com/v3/doc/
|
|
16
|
-
- [生成AIになでしこ3のプログラムを作ってもらう](doc/ai-code-generation.md)
|
|
18
|
+
- [チュートリアル](https://nadesi.com/v3/doc/index.php?%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB)
|
|
17
19
|
|
|
18
20
|
## 対応機器/ブラウザ
|
|
19
21
|
|
|
20
|
-
|
|
22
|
+
WEB版なでしこ3は、内部的にJavaScriptに変換されて実行されます。そのため、JavaScriptが動作するさまざまな端末で実行できます。
|
|
21
23
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
3. 配付パッケージ - Electronを利用してローカルPC上で動作
|
|
24
|
+
- Webブラウザ(wnako3) - 主要ブラウザ(Chrome/Safari/Edge/Firefox)に対応し、PC/スマートフォンで動作
|
|
25
|
+
- コマンドライン(cnako3) - JavaScriptの実行エンジン「Node.js」上で動作
|
|
25
26
|
|
|
26
27
|
具体的な対応ブラウザについて詳しくは、[対応機器/ブラウザ](doc/browsers.md) をご覧ください。Node.jsの対応バージョンは、v22以上です。
|
|
27
28
|
|
|
29
|
+
また、本リポジトリとは別に、PC版のなでしこ3(Go言語で実装されたもの)があります。
|
|
30
|
+
|
|
31
|
+
- [PC版(gonako/gonako-gui)](https://github.com/kujirahand/nadesiko3go/) - デスクトップアプリ(gonako-gui)やコマンドライン(gonako)アプリを開発できます。作成したアプリを実行ファイル1個に梱包でき配布も簡単です。エディタ一体型のツールです。
|
|
32
|
+
|
|
28
33
|
## ブラウザで利用する方法
|
|
29
34
|
|
|
30
35
|
次のWebエディタ上で、なでしこを実行できます。ブラウザがあれば動作します。
|
|
@@ -36,12 +41,17 @@
|
|
|
36
41
|
|
|
37
42
|
なでしこ3をインストールして動かす方法は下記にまとめています。
|
|
38
43
|
|
|
39
|
-
- [なでしこマニュアル > FAQ/なでしこ3をインストールして使うには?](https://nadesi.com/v3/doc/
|
|
44
|
+
- [なでしこマニュアル > FAQ/なでしこ3をインストールして使うには?](https://nadesi.com/v3/doc/index.php?FAQ%2F%E3%81%AA%E3%81%A7%E3%81%97%E3%81%933%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%81%A6%E4%BD%BF%E3%81%86%E3%81%AB%E3%81%AF%EF%BC%9F&show)
|
|
45
|
+
|
|
46
|
+
## AIと一緒になでしこを使う
|
|
47
|
+
|
|
48
|
+
AIになでしこの文法を読み込ませることで、なでしこのプログラムをエラーなく動かすことが可能です。
|
|
49
|
+
|
|
50
|
+
- [生成AIになでしこ3のプログラムを作ってもらう](doc/ai-code-generation.md)
|
|
40
51
|
|
|
41
52
|
## Node.jsでなでしこ3コマンドライン版をインストール
|
|
42
53
|
|
|
43
|
-
先にNode.js/npm
|
|
44
|
-
次いで、コマンドラインから次のコマンドを実行します。
|
|
54
|
+
先にNode.js/npmをインストールします。次いで、コマンドラインから次のコマンドを実行します。
|
|
45
55
|
|
|
46
56
|
```sh
|
|
47
57
|
npm install -g nadesiko3
|
|
@@ -67,45 +77,6 @@ npm install
|
|
|
67
77
|
npm run build
|
|
68
78
|
```
|
|
69
79
|
|
|
70
|
-
## Ubuntuへの開発環境のセットアップ
|
|
71
|
-
|
|
72
|
-
まっさらなUbuntu22.04に、なでしこ3の開発環境を整える場合は次のコマンドを実行します。
|
|
73
|
-
|
|
74
|
-
```sh
|
|
75
|
-
sudo apt update
|
|
76
|
-
# nvm で Node.js をインストール
|
|
77
|
-
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash
|
|
78
|
-
source ~/.bashrc
|
|
79
|
-
nvm install v24
|
|
80
|
-
nvm use v24
|
|
81
|
-
# リポジトリのセットアップ
|
|
82
|
-
git clone https://github.com/kujirahand/nadesiko3.git
|
|
83
|
-
cd nadesiko3
|
|
84
|
-
npm install
|
|
85
|
-
# なでしこ3のビルド
|
|
86
|
-
npm run build
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
## 追加インストール(macOS/Linux)
|
|
90
|
-
|
|
91
|
-
必要に応じて次のコマンドをインストールします。
|
|
92
|
-
|
|
93
|
-
macOS:
|
|
94
|
-
|
|
95
|
-
```sh
|
|
96
|
-
# 『圧縮』『解凍』命令のために
|
|
97
|
-
brew install p7zip
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
Ubuntu/Debian:
|
|
101
|
-
|
|
102
|
-
```sh
|
|
103
|
-
# 『圧縮』『解凍』命令のために
|
|
104
|
-
sudo apt install p7zip-full
|
|
105
|
-
# 『キー送信』命令のために
|
|
106
|
-
sudo apt install xdotool
|
|
107
|
-
```
|
|
108
|
-
|
|
109
80
|
全てのコマンドが正しく動くかを確認するには、次のコマンドを実行します。
|
|
110
81
|
|
|
111
82
|
```sh
|
|
@@ -121,7 +92,7 @@ npm test
|
|
|
121
92
|
```sh
|
|
122
93
|
# なでしこエディタ(WEB版)のサーバーを起動
|
|
123
94
|
npm start
|
|
124
|
-
# なでしこエディタ(
|
|
95
|
+
# なでしこエディタ(Node.js版)を起動
|
|
125
96
|
npm run nako3edit
|
|
126
97
|
```
|
|
127
98
|
|
|
@@ -143,25 +114,15 @@ npm run search:command -- --help
|
|
|
143
114
|
|
|
144
115
|
詳しくは、[doc/search_command.md](doc/search_command.md) をご覧ください。
|
|
145
116
|
|
|
146
|
-
## Colabでなでしこを使って作業をする場合
|
|
147
|
-
|
|
148
|
-
以下にColabを使ってなでしこを使う場合の作業用テンプレートを用意しました。
|
|
149
|
-
ノートを複製して自分の作業に利用できます。
|
|
150
|
-
|
|
151
|
-
- [作業用テンプレート](https://colab.research.google.com/drive/1FmOIoJGeFP57C9fgZXCP5pvcVJ6HmvH4?usp=sharing)
|
|
152
|
-
|
|
153
|
-
## Colabでビルドテスト
|
|
154
|
-
|
|
155
|
-
Google Colabでなでしこのビルドテストできます。
|
|
156
|
-
|
|
157
|
-
- [ノートブック](https://colab.research.google.com/drive/1a-Choj3tCBCA1R7x7vPdNQN48vGzBd7E?usp=sharing)
|
|
158
|
-
|
|
159
117
|
## なでしこの開発履歴
|
|
160
118
|
|
|
161
119
|
日本語プログラミング言語「なでしこ」の開発は2004年にはじまりました。その後、何度も作り直しを行って、現在の「なでしこ3」ができています。
|
|
162
120
|
「なでしこ3」の開発は、2017年からコツコツと継続され、現在まで定期的にバージョンアップが続いています。
|
|
163
121
|
2004年に掲げた「誰でも簡単プログラマー」の目標を実現するために開発を続けます。
|
|
164
122
|
|
|
123
|
+
- (2026-09-07) 現行TS版と互換性のある[なでしこ3(Go版)](https://github.com/kujirahand/nadesiko3go/)を公開
|
|
124
|
+
- (2026-09-01) v3.8.1で古い__getProp/__setPropによるプロパティアクセスを廃止
|
|
125
|
+
- (2026-04-05) v3.7.17より生成AIの活用を大々的に開始
|
|
165
126
|
- (2024-07-22) v.3.6.11でcoreに分割した開発用リポジトリを再び本家に統合
|
|
166
127
|
- (2024-07-04) v3.6.8で、バンドルツールを`webpack`から`esbuild`に変更(#1690)
|
|
167
128
|
- (2024-05-02) v3.6.2で、プラグイン用APIを一新、なでしこの変数管理をObjectからMapに変更(#1638)
|
|
@@ -204,8 +165,9 @@ Google Colabでなでしこのビルドテストできます。
|
|
|
204
165
|
|
|
205
166
|
## なでしこ関連リポジトリへのリンク
|
|
206
167
|
|
|
207
|
-
- [
|
|
208
|
-
- [
|
|
168
|
+
- [WEB版なでしこ3(Node.js)](https://github.com/kujirahand/nadesiko3/)
|
|
169
|
+
- [PC版なでしこ3(Go)](https://github.com/kujirahand/nadesiko3go)
|
|
170
|
+
- [なでしこ3Node.js版の拡張プラグイン](https://nadesi.com/v3/doc/index.php?FAQ%2F%E6%8B%A1%E5%BC%B5%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&show)
|
|
209
171
|
- [nadesiko3-server](https://github.com/kujirahand/nadesiko3-server) --- Webサーバ(HTTP)
|
|
210
172
|
- [nadesiko3-websocket](https://github.com/kujirahand/nadesiko3-websocket) --- WebSocket
|
|
211
173
|
- [nadesiko3-office](https://github.com/kujirahand/nadesiko3-office) --- Excelなど
|
|
@@ -218,15 +180,12 @@ Google Colabでなでしこのビルドテストできます。
|
|
|
218
180
|
- [nadesiko3-mysql](https://github.com/kujirahand/nadesiko3-mysql) --- データベースMySQL
|
|
219
181
|
- [nadesiko3-postgresql](https://github.com/kujirahand/nadesiko3-postgresql) --- データベースPostgreSQL
|
|
220
182
|
- [nadesiko3-mssql](https://github.com/kujirahand/nadesiko3-mssql) --- データベースmssql
|
|
221
|
-
- 配布用パッケージ
|
|
183
|
+
- 配布用パッケージ (現在は非推奨)
|
|
222
184
|
- [nadesiko3webkit - なでしこ3軽量配布キット(webkit版)](https://github.com/kujirahand/nadesiko3webkit)
|
|
223
185
|
- [nadesiko3electron - なでしこ3フル配布キット(electron版)](https://github.com/kujirahand/nadesiko3electron)
|
|
224
186
|
- [nadesiko3win32 - なでしこ3(コンソール版)のWindows配布パッケージ](https://github.com/kujirahand/nadesiko3win32/releases)
|
|
225
|
-
-
|
|
226
|
-
- [nadesiko3(Node.js)](https://github.com/kujirahand/nadesiko3)
|
|
227
|
-
- [nadesiko3(Deno)](https://github.com/kujirahand/nadesiko3deno)
|
|
228
|
-
- 実験的に別言語で実装したなでしこ3
|
|
229
|
-
- [nadesiko3php - なでしこ3PHP](https://github.com/kujirahand/nadesiko3php)
|
|
230
|
-
- [nadesiko3rust - なでしこ3Rust](https://github.com/kujirahand/nadesiko3rust)
|
|
231
|
-
- [nadesiko3go - なでしこ3Go言語](https://github.com/kujirahand/nadesiko3go)
|
|
187
|
+
- 実験/別言語で実装したなでしこ3
|
|
232
188
|
- [nadesiko3core](https://github.com/kujirahand/nadesiko3core/) --- 言語コアのみ取り出したもの
|
|
189
|
+
- [nadesiko3rust - なでしこ3Rust](https://github.com/kujirahand/nadesiko3rust)
|
|
190
|
+
- [nadesiko3php - なでしこ3PHP](https://github.com/kujirahand/nadesiko3php)
|
|
191
|
+
- [nadesiko3(Deno)](https://github.com/kujirahand/nadesiko3deno)
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
ROOT_DIR = 母艦パスを「../」で相対パス展開。
|
|
2
|
+
|
|
3
|
+
FILES = 「{ROOT_DIR}/*.mts」の全ファイル列挙。
|
|
4
|
+
TOTAL_FILES = 0
|
|
5
|
+
TOTAL_LINES = 0
|
|
6
|
+
TOTAL_CHARS = 0
|
|
7
|
+
|
|
8
|
+
FILESを反復
|
|
9
|
+
# node_modules を除外
|
|
10
|
+
対象を『node_modules』で正規表現マッチ。
|
|
11
|
+
もし、そうならば、続ける。
|
|
12
|
+
|
|
13
|
+
F = 対象
|
|
14
|
+
S = Fを開く。
|
|
15
|
+
CHARS = Sの文字数。
|
|
16
|
+
|
|
17
|
+
# 行末の改行を取り除いてから改行で区切る
|
|
18
|
+
S_TRIM = Sの「/\r?\n$/」を「」に正規表現置換。
|
|
19
|
+
もし、S_TRIM == ""ならば
|
|
20
|
+
LINES = 0
|
|
21
|
+
違えば
|
|
22
|
+
LINES = (S_TRIMを改行で区切る)の要素数
|
|
23
|
+
ここまで。
|
|
24
|
+
|
|
25
|
+
TOTAL_FILES = TOTAL_FILES + 1
|
|
26
|
+
TOTAL_LINES = TOTAL_LINES + LINES
|
|
27
|
+
TOTAL_CHARS = TOTAL_CHARS + CHARS
|
|
28
|
+
|
|
29
|
+
# 相対パス表示
|
|
30
|
+
REL_PATH = Fの「{ROOT_DIR}」を「」に置換。
|
|
31
|
+
REL_PATH = REL_PATHの「/^[\\\/]/」を「」に正規表現置換。
|
|
32
|
+
「{REL_PATH}: {LINES}行, {CHARS}文字」を表示。
|
|
33
|
+
ここまで。
|
|
34
|
+
|
|
35
|
+
「----------------------------------------」を表示。
|
|
36
|
+
「対象ファイル数: {TOTAL_FILES}」を表示。
|
|
37
|
+
「総行数: {TOTAL_LINES} 行」を表示。
|
|
38
|
+
「総文字数: {TOTAL_CHARS} 文字」を表示。
|
|
39
|
+
「----------------------------------------」を表示。
|