ffmt 0.1.0__tar.gz

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 (38) hide show
  1. ffmt-0.1.0/.github/workflows/ci.yml +37 -0
  2. ffmt-0.1.0/.github/workflows/release.yml +62 -0
  3. ffmt-0.1.0/.gitignore +2 -0
  4. ffmt-0.1.0/.pre-commit-hooks.yaml +16 -0
  5. ffmt-0.1.0/Cargo.lock +470 -0
  6. ffmt-0.1.0/Cargo.toml +18 -0
  7. ffmt-0.1.0/LICENSE +21 -0
  8. ffmt-0.1.0/PKG-INFO +235 -0
  9. ffmt-0.1.0/README.md +217 -0
  10. ffmt-0.1.0/action.yml +26 -0
  11. ffmt-0.1.0/pyproject.toml +25 -0
  12. ffmt-0.1.0/src/case_norm.rs +283 -0
  13. ffmt-0.1.0/src/classifier.rs +422 -0
  14. ffmt-0.1.0/src/cli.rs +489 -0
  15. ffmt-0.1.0/src/config.rs +211 -0
  16. ffmt-0.1.0/src/formatter.rs +312 -0
  17. ffmt-0.1.0/src/keyword_norm.rs +239 -0
  18. ffmt-0.1.0/src/lib.rs +70 -0
  19. ffmt-0.1.0/src/main.rs +3 -0
  20. ffmt-0.1.0/src/reader.rs +236 -0
  21. ffmt-0.1.0/src/scope.rs +119 -0
  22. ffmt-0.1.0/src/whitespace.rs +680 -0
  23. ffmt-0.1.0/tests/case_norm.rs +60 -0
  24. ffmt-0.1.0/tests/classifier.rs +326 -0
  25. ffmt-0.1.0/tests/fixtures/blank_lines.expected.fpp +10 -0
  26. ffmt-0.1.0/tests/fixtures/blank_lines.input.fpp +12 -0
  27. ffmt-0.1.0/tests/fixtures/call_block.expected.fpp +8 -0
  28. ffmt-0.1.0/tests/fixtures/call_block.input.fpp +8 -0
  29. ffmt-0.1.0/tests/fixtures/directives.expected.fpp +14 -0
  30. ffmt-0.1.0/tests/fixtures/directives.input.fpp +14 -0
  31. ffmt-0.1.0/tests/fixtures/fypp.expected.fpp +26 -0
  32. ffmt-0.1.0/tests/fixtures/fypp.input.fpp +26 -0
  33. ffmt-0.1.0/tests/fixtures/simple.expected.fpp +19 -0
  34. ffmt-0.1.0/tests/fixtures/simple.input.fpp +19 -0
  35. ffmt-0.1.0/tests/integration.rs +88 -0
  36. ffmt-0.1.0/tests/reader.rs +79 -0
  37. ffmt-0.1.0/tests/scope.rs +166 -0
  38. ffmt-0.1.0/tests/whitespace.rs +202 -0
@@ -0,0 +1,37 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [master]
6
+ pull_request:
7
+ branches: [master]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v4
14
+ - uses: dtolnay/rust-toolchain@stable
15
+ - run: cargo test
16
+ - run: cargo clippy -- -D warnings
17
+
18
+ build-wheels:
19
+ name: Build wheels (${{ matrix.os }})
20
+ runs-on: ${{ matrix.os }}
21
+ strategy:
22
+ matrix:
23
+ os: [ubuntu-latest, macos-latest, windows-latest]
24
+ steps:
25
+ - uses: actions/checkout@v4
26
+ - uses: actions/setup-python@v5
27
+ with:
28
+ python-version: "3.12"
29
+ - uses: dtolnay/rust-toolchain@stable
30
+ - name: Build wheel
31
+ uses: PyO3/maturin-action@v1
32
+ with:
33
+ args: --release --out dist
34
+ - uses: actions/upload-artifact@v4
35
+ with:
36
+ name: wheels-${{ matrix.os }}
37
+ path: dist/
@@ -0,0 +1,62 @@
1
+ name: Release to PyPI
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+
7
+ permissions:
8
+ contents: read
9
+
10
+ jobs:
11
+ build-wheels:
12
+ name: Build wheels (${{ matrix.os }})
13
+ runs-on: ${{ matrix.os }}
14
+ strategy:
15
+ matrix:
16
+ os: [ubuntu-latest, macos-latest, windows-latest]
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+ - uses: actions/setup-python@v5
20
+ with:
21
+ python-version: "3.12"
22
+ - uses: dtolnay/rust-toolchain@stable
23
+ - name: Build wheel
24
+ uses: PyO3/maturin-action@v1
25
+ with:
26
+ args: --release --out dist
27
+ - uses: actions/upload-artifact@v4
28
+ with:
29
+ name: wheels-${{ matrix.os }}
30
+ path: dist/
31
+
32
+ build-sdist:
33
+ runs-on: ubuntu-latest
34
+ steps:
35
+ - uses: actions/checkout@v4
36
+ - name: Build sdist
37
+ uses: PyO3/maturin-action@v1
38
+ with:
39
+ command: sdist
40
+ args: --out dist
41
+ - uses: actions/upload-artifact@v4
42
+ with:
43
+ name: sdist
44
+ path: dist/
45
+
46
+ publish:
47
+ needs: [build-wheels, build-sdist]
48
+ runs-on: ubuntu-latest
49
+ environment: pypi
50
+ permissions:
51
+ id-token: write
52
+ steps:
53
+ - uses: actions/download-artifact@v4
54
+ with:
55
+ pattern: wheels-*
56
+ merge-multiple: true
57
+ path: dist/
58
+ - uses: actions/download-artifact@v4
59
+ with:
60
+ name: sdist
61
+ path: dist/
62
+ - uses: pypa/gh-action-pypi-publish@release/v1
ffmt-0.1.0/.gitignore ADDED
@@ -0,0 +1,2 @@
1
+ /target/
2
+ .ffmt_cache/
@@ -0,0 +1,16 @@
1
+ - id: ffmt
2
+ name: ffmt
3
+ description: An opinionated Fortran formatter
4
+ entry: ffmt
5
+ language: rust
6
+ types_or: [fortran]
7
+ # Also match .fpp files which pre-commit may not know about
8
+ files: \.(fpp|f90|F90|f95|f03)$
9
+
10
+ - id: ffmt-check
11
+ name: ffmt (check only)
12
+ description: Check Fortran formatting without modifying files
13
+ entry: ffmt --check
14
+ language: rust
15
+ types_or: [fortran]
16
+ files: \.(fpp|f90|F90|f95|f03)$
ffmt-0.1.0/Cargo.lock ADDED
@@ -0,0 +1,470 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 4
4
+
5
+ [[package]]
6
+ name = "aho-corasick"
7
+ version = "1.1.4"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301"
10
+ dependencies = [
11
+ "memchr",
12
+ ]
13
+
14
+ [[package]]
15
+ name = "anstream"
16
+ version = "1.0.0"
17
+ source = "registry+https://github.com/rust-lang/crates.io-index"
18
+ checksum = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d"
19
+ dependencies = [
20
+ "anstyle",
21
+ "anstyle-parse",
22
+ "anstyle-query",
23
+ "anstyle-wincon",
24
+ "colorchoice",
25
+ "is_terminal_polyfill",
26
+ "utf8parse",
27
+ ]
28
+
29
+ [[package]]
30
+ name = "anstyle"
31
+ version = "1.0.14"
32
+ source = "registry+https://github.com/rust-lang/crates.io-index"
33
+ checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000"
34
+
35
+ [[package]]
36
+ name = "anstyle-parse"
37
+ version = "1.0.0"
38
+ source = "registry+https://github.com/rust-lang/crates.io-index"
39
+ checksum = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e"
40
+ dependencies = [
41
+ "utf8parse",
42
+ ]
43
+
44
+ [[package]]
45
+ name = "anstyle-query"
46
+ version = "1.1.5"
47
+ source = "registry+https://github.com/rust-lang/crates.io-index"
48
+ checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc"
49
+ dependencies = [
50
+ "windows-sys",
51
+ ]
52
+
53
+ [[package]]
54
+ name = "anstyle-wincon"
55
+ version = "3.0.11"
56
+ source = "registry+https://github.com/rust-lang/crates.io-index"
57
+ checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d"
58
+ dependencies = [
59
+ "anstyle",
60
+ "once_cell_polyfill",
61
+ "windows-sys",
62
+ ]
63
+
64
+ [[package]]
65
+ name = "bstr"
66
+ version = "1.12.1"
67
+ source = "registry+https://github.com/rust-lang/crates.io-index"
68
+ checksum = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab"
69
+ dependencies = [
70
+ "memchr",
71
+ "serde",
72
+ ]
73
+
74
+ [[package]]
75
+ name = "clap"
76
+ version = "4.6.0"
77
+ source = "registry+https://github.com/rust-lang/crates.io-index"
78
+ checksum = "b193af5b67834b676abd72466a96c1024e6a6ad978a1f484bd90b85c94041351"
79
+ dependencies = [
80
+ "clap_builder",
81
+ "clap_derive",
82
+ ]
83
+
84
+ [[package]]
85
+ name = "clap_builder"
86
+ version = "4.6.0"
87
+ source = "registry+https://github.com/rust-lang/crates.io-index"
88
+ checksum = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f"
89
+ dependencies = [
90
+ "anstream",
91
+ "anstyle",
92
+ "clap_lex",
93
+ "strsim",
94
+ ]
95
+
96
+ [[package]]
97
+ name = "clap_derive"
98
+ version = "4.6.0"
99
+ source = "registry+https://github.com/rust-lang/crates.io-index"
100
+ checksum = "1110bd8a634a1ab8cb04345d8d878267d57c3cf1b38d91b71af6686408bbca6a"
101
+ dependencies = [
102
+ "heck",
103
+ "proc-macro2",
104
+ "quote",
105
+ "syn",
106
+ ]
107
+
108
+ [[package]]
109
+ name = "clap_lex"
110
+ version = "1.1.0"
111
+ source = "registry+https://github.com/rust-lang/crates.io-index"
112
+ checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9"
113
+
114
+ [[package]]
115
+ name = "colorchoice"
116
+ version = "1.0.5"
117
+ source = "registry+https://github.com/rust-lang/crates.io-index"
118
+ checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570"
119
+
120
+ [[package]]
121
+ name = "crossbeam-deque"
122
+ version = "0.8.6"
123
+ source = "registry+https://github.com/rust-lang/crates.io-index"
124
+ checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51"
125
+ dependencies = [
126
+ "crossbeam-epoch",
127
+ "crossbeam-utils",
128
+ ]
129
+
130
+ [[package]]
131
+ name = "crossbeam-epoch"
132
+ version = "0.9.18"
133
+ source = "registry+https://github.com/rust-lang/crates.io-index"
134
+ checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
135
+ dependencies = [
136
+ "crossbeam-utils",
137
+ ]
138
+
139
+ [[package]]
140
+ name = "crossbeam-utils"
141
+ version = "0.8.21"
142
+ source = "registry+https://github.com/rust-lang/crates.io-index"
143
+ checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
144
+
145
+ [[package]]
146
+ name = "either"
147
+ version = "1.15.0"
148
+ source = "registry+https://github.com/rust-lang/crates.io-index"
149
+ checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
150
+
151
+ [[package]]
152
+ name = "equivalent"
153
+ version = "1.0.2"
154
+ source = "registry+https://github.com/rust-lang/crates.io-index"
155
+ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
156
+
157
+ [[package]]
158
+ name = "ffmt"
159
+ version = "0.1.0"
160
+ dependencies = [
161
+ "clap",
162
+ "ignore",
163
+ "rayon",
164
+ "regex",
165
+ "serde",
166
+ "toml",
167
+ ]
168
+
169
+ [[package]]
170
+ name = "globset"
171
+ version = "0.4.18"
172
+ source = "registry+https://github.com/rust-lang/crates.io-index"
173
+ checksum = "52dfc19153a48bde0cbd630453615c8151bce3a5adfac7a0aebfbf0a1e1f57e3"
174
+ dependencies = [
175
+ "aho-corasick",
176
+ "bstr",
177
+ "log",
178
+ "regex-automata",
179
+ "regex-syntax",
180
+ ]
181
+
182
+ [[package]]
183
+ name = "hashbrown"
184
+ version = "0.16.1"
185
+ source = "registry+https://github.com/rust-lang/crates.io-index"
186
+ checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100"
187
+
188
+ [[package]]
189
+ name = "heck"
190
+ version = "0.5.0"
191
+ source = "registry+https://github.com/rust-lang/crates.io-index"
192
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
193
+
194
+ [[package]]
195
+ name = "ignore"
196
+ version = "0.4.25"
197
+ source = "registry+https://github.com/rust-lang/crates.io-index"
198
+ checksum = "d3d782a365a015e0f5c04902246139249abf769125006fbe7649e2ee88169b4a"
199
+ dependencies = [
200
+ "crossbeam-deque",
201
+ "globset",
202
+ "log",
203
+ "memchr",
204
+ "regex-automata",
205
+ "same-file",
206
+ "walkdir",
207
+ "winapi-util",
208
+ ]
209
+
210
+ [[package]]
211
+ name = "indexmap"
212
+ version = "2.13.0"
213
+ source = "registry+https://github.com/rust-lang/crates.io-index"
214
+ checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017"
215
+ dependencies = [
216
+ "equivalent",
217
+ "hashbrown",
218
+ ]
219
+
220
+ [[package]]
221
+ name = "is_terminal_polyfill"
222
+ version = "1.70.2"
223
+ source = "registry+https://github.com/rust-lang/crates.io-index"
224
+ checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695"
225
+
226
+ [[package]]
227
+ name = "log"
228
+ version = "0.4.29"
229
+ source = "registry+https://github.com/rust-lang/crates.io-index"
230
+ checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897"
231
+
232
+ [[package]]
233
+ name = "memchr"
234
+ version = "2.8.0"
235
+ source = "registry+https://github.com/rust-lang/crates.io-index"
236
+ checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
237
+
238
+ [[package]]
239
+ name = "once_cell_polyfill"
240
+ version = "1.70.2"
241
+ source = "registry+https://github.com/rust-lang/crates.io-index"
242
+ checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe"
243
+
244
+ [[package]]
245
+ name = "proc-macro2"
246
+ version = "1.0.106"
247
+ source = "registry+https://github.com/rust-lang/crates.io-index"
248
+ checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
249
+ dependencies = [
250
+ "unicode-ident",
251
+ ]
252
+
253
+ [[package]]
254
+ name = "quote"
255
+ version = "1.0.45"
256
+ source = "registry+https://github.com/rust-lang/crates.io-index"
257
+ checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924"
258
+ dependencies = [
259
+ "proc-macro2",
260
+ ]
261
+
262
+ [[package]]
263
+ name = "rayon"
264
+ version = "1.11.0"
265
+ source = "registry+https://github.com/rust-lang/crates.io-index"
266
+ checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f"
267
+ dependencies = [
268
+ "either",
269
+ "rayon-core",
270
+ ]
271
+
272
+ [[package]]
273
+ name = "rayon-core"
274
+ version = "1.13.0"
275
+ source = "registry+https://github.com/rust-lang/crates.io-index"
276
+ checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91"
277
+ dependencies = [
278
+ "crossbeam-deque",
279
+ "crossbeam-utils",
280
+ ]
281
+
282
+ [[package]]
283
+ name = "regex"
284
+ version = "1.12.3"
285
+ source = "registry+https://github.com/rust-lang/crates.io-index"
286
+ checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276"
287
+ dependencies = [
288
+ "aho-corasick",
289
+ "memchr",
290
+ "regex-automata",
291
+ "regex-syntax",
292
+ ]
293
+
294
+ [[package]]
295
+ name = "regex-automata"
296
+ version = "0.4.14"
297
+ source = "registry+https://github.com/rust-lang/crates.io-index"
298
+ checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f"
299
+ dependencies = [
300
+ "aho-corasick",
301
+ "memchr",
302
+ "regex-syntax",
303
+ ]
304
+
305
+ [[package]]
306
+ name = "regex-syntax"
307
+ version = "0.8.10"
308
+ source = "registry+https://github.com/rust-lang/crates.io-index"
309
+ checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a"
310
+
311
+ [[package]]
312
+ name = "same-file"
313
+ version = "1.0.6"
314
+ source = "registry+https://github.com/rust-lang/crates.io-index"
315
+ checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
316
+ dependencies = [
317
+ "winapi-util",
318
+ ]
319
+
320
+ [[package]]
321
+ name = "serde"
322
+ version = "1.0.228"
323
+ source = "registry+https://github.com/rust-lang/crates.io-index"
324
+ checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
325
+ dependencies = [
326
+ "serde_core",
327
+ "serde_derive",
328
+ ]
329
+
330
+ [[package]]
331
+ name = "serde_core"
332
+ version = "1.0.228"
333
+ source = "registry+https://github.com/rust-lang/crates.io-index"
334
+ checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
335
+ dependencies = [
336
+ "serde_derive",
337
+ ]
338
+
339
+ [[package]]
340
+ name = "serde_derive"
341
+ version = "1.0.228"
342
+ source = "registry+https://github.com/rust-lang/crates.io-index"
343
+ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
344
+ dependencies = [
345
+ "proc-macro2",
346
+ "quote",
347
+ "syn",
348
+ ]
349
+
350
+ [[package]]
351
+ name = "serde_spanned"
352
+ version = "0.6.9"
353
+ source = "registry+https://github.com/rust-lang/crates.io-index"
354
+ checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3"
355
+ dependencies = [
356
+ "serde",
357
+ ]
358
+
359
+ [[package]]
360
+ name = "strsim"
361
+ version = "0.11.1"
362
+ source = "registry+https://github.com/rust-lang/crates.io-index"
363
+ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
364
+
365
+ [[package]]
366
+ name = "syn"
367
+ version = "2.0.117"
368
+ source = "registry+https://github.com/rust-lang/crates.io-index"
369
+ checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99"
370
+ dependencies = [
371
+ "proc-macro2",
372
+ "quote",
373
+ "unicode-ident",
374
+ ]
375
+
376
+ [[package]]
377
+ name = "toml"
378
+ version = "0.8.23"
379
+ source = "registry+https://github.com/rust-lang/crates.io-index"
380
+ checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362"
381
+ dependencies = [
382
+ "serde",
383
+ "serde_spanned",
384
+ "toml_datetime",
385
+ "toml_edit",
386
+ ]
387
+
388
+ [[package]]
389
+ name = "toml_datetime"
390
+ version = "0.6.11"
391
+ source = "registry+https://github.com/rust-lang/crates.io-index"
392
+ checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c"
393
+ dependencies = [
394
+ "serde",
395
+ ]
396
+
397
+ [[package]]
398
+ name = "toml_edit"
399
+ version = "0.22.27"
400
+ source = "registry+https://github.com/rust-lang/crates.io-index"
401
+ checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a"
402
+ dependencies = [
403
+ "indexmap",
404
+ "serde",
405
+ "serde_spanned",
406
+ "toml_datetime",
407
+ "toml_write",
408
+ "winnow",
409
+ ]
410
+
411
+ [[package]]
412
+ name = "toml_write"
413
+ version = "0.1.2"
414
+ source = "registry+https://github.com/rust-lang/crates.io-index"
415
+ checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801"
416
+
417
+ [[package]]
418
+ name = "unicode-ident"
419
+ version = "1.0.24"
420
+ source = "registry+https://github.com/rust-lang/crates.io-index"
421
+ checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
422
+
423
+ [[package]]
424
+ name = "utf8parse"
425
+ version = "0.2.2"
426
+ source = "registry+https://github.com/rust-lang/crates.io-index"
427
+ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
428
+
429
+ [[package]]
430
+ name = "walkdir"
431
+ version = "2.5.0"
432
+ source = "registry+https://github.com/rust-lang/crates.io-index"
433
+ checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
434
+ dependencies = [
435
+ "same-file",
436
+ "winapi-util",
437
+ ]
438
+
439
+ [[package]]
440
+ name = "winapi-util"
441
+ version = "0.1.11"
442
+ source = "registry+https://github.com/rust-lang/crates.io-index"
443
+ checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
444
+ dependencies = [
445
+ "windows-sys",
446
+ ]
447
+
448
+ [[package]]
449
+ name = "windows-link"
450
+ version = "0.2.1"
451
+ source = "registry+https://github.com/rust-lang/crates.io-index"
452
+ checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
453
+
454
+ [[package]]
455
+ name = "windows-sys"
456
+ version = "0.61.2"
457
+ source = "registry+https://github.com/rust-lang/crates.io-index"
458
+ checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
459
+ dependencies = [
460
+ "windows-link",
461
+ ]
462
+
463
+ [[package]]
464
+ name = "winnow"
465
+ version = "0.7.15"
466
+ source = "registry+https://github.com/rust-lang/crates.io-index"
467
+ checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945"
468
+ dependencies = [
469
+ "memchr",
470
+ ]
ffmt-0.1.0/Cargo.toml ADDED
@@ -0,0 +1,18 @@
1
+ [package]
2
+ name = "ffmt"
3
+ version = "0.1.0"
4
+ edition = "2021"
5
+ description = "An opinionated Fortran formatter with Fypp and OpenACC support"
6
+ license = "MIT"
7
+ repository = "https://github.com/sbryngelson/ffmt"
8
+ keywords = ["fortran", "formatter", "fypp", "openacc"]
9
+ categories = ["development-tools", "command-line-utilities"]
10
+ readme = "README.md"
11
+
12
+ [dependencies]
13
+ regex = "1"
14
+ clap = { version = "4", features = ["derive"] }
15
+ rayon = "1"
16
+ ignore = "0.4"
17
+ toml = "0.8"
18
+ serde = { version = "1", features = ["derive"] }
ffmt-0.1.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 MFlowCode contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.