OSH (and common libraries) 3 pyext/yajl.pyi 13 pyext/libc.pyi 15 pyext/fastlex.pyi 17 core/ansi.py 31 osh/NINJA_subgraph.py 32 pyext/line_input.pyi 42 frontend/types.asdl 48 core/NINJA_subgraph.py 57 core/optview.py 62 bin/oil.py 76 core/pyerror.py 76 qsn_/qsn_native.py 84 mycpp/mylib.pyi 92 core/util.py 95 frontend/signal_def.py 96 osh/builtin_lib.py 97 frontend/py_readline.py 103 frontend/typed_args.py 119 pyext/fanos.c 135 osh/builtin_process.py 137 osh/bool_stat.py 140 frontend/syntax_abbrev.py 145 frontend/NINJA_subgraph.py 149 frontend/location.py 156 core/shell_native.py 158 core/error.py 164 frontend/builtin_def.py 184 osh/arith_parse.py 191 osh/history.py 208 core/runtime.asdl 211 pyext/posix_.pyi 216 core/pyutil.py 221 osh/builtin_process2.py 231 frontend/reader.py 246 pyext/fastlex.c 262 osh/builtin_trap.py 263 osh/word_compile.py 265 frontend/match.py 269 core/alloc.py 272 osh/bool_parse.py 282 osh/builtin_bracket.py 299 osh/prompt.py 300 core/vm.py 308 osh/split.py 344 osh/tdop.py 350 frontend/consts.py 369 frontend/lexer.py 373 frontend/option_def.py 383 core/main_loop.py 390 frontend/flag_spec.py 403 core/pyos.py 411 core/ui.py 414 pyext/libc.c 439 osh/builtin_meta.py 444 frontend/flag_def.py 460 osh/string_ops.py 466 osh/builtin_comp.py 482 osh/builtin_printf.py 488 osh/glob_.py 504 frontend/parse_lib.py 516 osh/braces.py 519 osh/builtin_assign.py 564 core/comp_ui.py 588 qsn_/qsn.py 598 core/dev.py 603 frontend/syntax.asdl 633 core/executor.py 638 frontend/id_kind_def.py 668 frontend/args.py 715 core/shell.py 812 osh/word_.py 874 osh/builtin_misc.py 956 osh/builtin_pure.py 1027 frontend/lexer_def.py 1053 osh/sh_expr_eval.py 1376 core/completion.py 1721 core/process.py 1872 osh/word_parse.py 1971 osh/cmd_eval.py 2263 osh/word_eval.py 2419 osh/cmd_parse.py 2451 core/state.py 38127 total Oil Language (and Tea) 37 oil_lang/NINJA_subgraph.py 99 tea/tea_main.py 120 oil_lang/builtin_json.py 125 oil_lang/funcs.py 137 tea/tea_eval.py 146 oil_lang/objects.py 291 oil_lang/builtin_oil.py 317 oil_lang/regex_translate.py 358 oil_lang/expr_parse.py 420 oil_lang/funcs_builtin.py 622 oil_lang/grammar.pgen2 1069 oil_lang/expr_eval.py 1521 oil_lang/expr_to_ast.py 5262 total Code Borrowed from Python's stdlib 19 pylib/cgi.py 27 pylib/path_stat.py 169 pylib/os_path.py 209 pylib/collections_.py 424 total Spec Tests 11 spec/comments.test.sh 13 spec/oil-case.test.sh 15 spec/builtin-times.test.sh 15 spec/oil-interactive.test.sh 17 spec/oil-bin.test.sh 18 spec/TODO-deprecate.test.sh 22 spec/oil-usage.test.sh 23 spec/let.test.sh 23 spec/subshell.test.sh 24 spec/empty-bodies.test.sh 26 spec/oil-tuple.test.sh 27 spec/vars-bash.test.sh 37 spec/oil-keywords.test.sh 38 spec/oil-array.test.sh 38 spec/oil-builtin-describe.test.sh 39 spec/var-num.test.sh 40 spec/oil-expr-sub.test.sh 42 spec/explore-parsing.test.sh 45 spec/oil-var-sub.test.sh 46 spec/oil-reserved.test.sh 47 spec/oil-builtin-pp.test.sh 48 spec/oil-expr-arith.test.sh 48 spec/oil-special-vars.test.sh 49 spec/blog2.test.sh 53 spec/assoc-zsh.test.sh 55 spec/blog-other1.test.sh 56 spec/if_.test.sh 59 spec/assign-dialects.test.sh 59 spec/oil-demo.test.sh 61 spec/oil-builtin-argparse.test.sh 62 spec/word-eval.test.sh 63 spec/command-parsing.test.sh 69 spec/nocasematch-match.test.sh 74 spec/var-sub.test.sh 77 spec/oil-with-sh.test.sh 81 spec/arith-context.test.sh 85 spec/oil-builtin-process.test.sh 87 spec/oil-funcs-external.test.sh 87 spec/osh-only.test.sh 90 spec/sh-usage.test.sh 91 spec/oil-bugs.test.sh 95 spec/blog1.test.sh 102 spec/array-compat.test.sh 103 spec/oil-options-assign.test.sh 104 spec/type-compat.test.sh 105 spec/assign-deferred.test.sh 105 spec/func-parsing.test.sh 109 spec/oil-command-sub.test.sh 111 spec/builtin-special.test.sh 117 spec/for-expr.test.sh 121 spec/oil-json.test.sh 123 spec/smoke.test.sh 128 spec/oil-word-eval.test.sh 144 spec/toysh.test.sh 150 spec/nix-idioms.test.sh 150 spec/sh-func.test.sh 153 spec/nul-bytes.test.sh 153 spec/posix.test.sh 157 spec/ble-idioms.test.sh 162 spec/oil-slice-range.test.sh 165 spec/case_.test.sh 169 spec/hay-isolation.test.sh 172 spec/tilde.test.sh 173 spec/oil-for.test.sh 179 spec/oil-builtin-shopt.test.sh 179 spec/oil-multiline.test.sh 182 spec/background.test.sh 186 spec/fatal-errors.test.sh 192 spec/command_.test.sh 192 spec/parse-errors.test.sh 197 spec/pipeline.test.sh 200 spec/hay-meta.test.sh 200 spec/oil-funcs-builtin.test.sh 204 spec/dparen.test.sh 205 spec/builtin-dirs.test.sh 205 spec/shell-grammar.test.sh 213 spec/oil-user-feedback.test.sh 213 spec/process-sub.test.sh 219 spec/var-op-len.test.sh 229 spec/serialize.test.sh 232 spec/introspect.test.sh 233 spec/builtins2.test.sh 238 spec/exit-status.test.sh 248 spec/quote.test.sh 249 spec/builtin-eval-source.test.sh 249 spec/strict-options.test.sh 254 spec/prompt.test.sh 270 spec/oil-proc.test.sh 274 spec/command-sub.test.sh 286 spec/oil-expr-compare.test.sh 288 spec/tea-func.test.sh 291 spec/var-op-patsub.test.sh 293 spec/append.test.sh 302 spec/interactive.test.sh 307 spec/var-op-bash.test.sh 312 spec/var-sub-quote.test.sh 315 spec/var-op-slice.test.sh 330 spec/builtin-trap.test.sh 339 spec/var-op-test.test.sh 343 spec/bugs.test.sh 344 spec/oil-string.test.sh 344 spec/regex.test.sh 344 spec/xtrace.test.sh 346 spec/builtin-bash.test.sh 347 spec/builtin-getopts.test.sh 347 spec/toysh-posix.test.sh 357 spec/var-op-strip.test.sh 359 spec/oil-assign.test.sh 370 spec/here-doc.test.sh 386 spec/oil-blocks.test.sh 387 spec/word-split.test.sh 391 spec/extglob-files.test.sh 393 spec/errexit.test.sh 397 spec/glob.test.sh 400 spec/extglob-match.test.sh 418 spec/builtin-completion.test.sh 424 spec/oil-builtin-error.test.sh 434 spec/builtins.test.sh 434 spec/dbracket.test.sh 441 spec/brace-expansion.test.sh 473 spec/builtin-trap-bash.test.sh 473 spec/loop.test.sh 508 spec/var-ref.test.sh 510 spec/oil-xtrace.test.sh 550 spec/alias.test.sh 564 spec/builtin-bracket.test.sh 568 spec/oil-builtins.test.sh 597 spec/vars-special.test.sh 626 spec/arith.test.sh 627 spec/array.test.sh 638 spec/nameref.test.sh 642 spec/assoc.test.sh 644 spec/ble-features.test.sh 661 spec/hay.test.sh 672 spec/assign.test.sh 679 spec/redirect.test.sh 694 spec/sh-options.test.sh 699 spec/builtin-vars.test.sh 738 spec/oil-expr.test.sh 755 spec/builtin-io.test.sh 755 spec/errexit-oil.test.sh 763 spec/oil-scope.test.sh 781 spec/oil-options.test.sh 810 spec/assign-extended.test.sh 898 spec/builtin-printf.test.sh 960 spec/oil-regex.test.sh 38827 total Gold Tests 6 test/gold/strip-op-char-class.sh 9 test/gold/abuild.sh 12 test/gold/command-sub-2.sh 13 test/gold/configure-bug.sh 22 test/gold/comments.sh 23 test/gold/lineno.sh 24 test/gold/de1.sh 24 test/gold/readonly.sh 26 test/gold/glob.sh 27 test/gold/and-or.sh 28 test/gold/declare.sh 32 test/gold/nix.sh 33 test/gold/char-class.sh 36 test/gold/echo-e.sh 37 test/gold/case-in-subshell.sh 39 test/gold/command-sub.sh 42 test/gold/dollar-sq.sh 50 test/gold/autoconf-backtick.sh 57 test/gold/word-eval.sh 61 test/gold/readlink.sh 65 test/gold/export.sh 121 test/gold/errexit.sh 126 test/gold/scope.sh 139 test/gold/errexit-confusion.sh 192 test/gold/complex-here-docs.sh 1531 test/gold/big-here-doc.sh 2775 total Python Unit Tests 16 osh/word_compile_test.py 19 core/pyutil_test.py 19 oil_lang/objects_test.py 19 osh/builtin_comp_test.py 24 pylib/path_stat_test.py 25 core/util_test.py 27 build/dynamic_deps_test.py 27 pyext/line_input_test.py 29 osh/builtin_bracket_test.py 29 test/wild_report_test.py 34 core/ui_test.py 47 asdl/format_test.py 48 osh/builtin_misc_test.py 50 doctools/spelling_test.py 51 frontend/lexer_gen_test.py 53 doctools/make_help_test.py 53 soil/web_test.py 54 osh/prompt_test.py 55 core/alloc_test.py 59 pylib/os_path_test.py 70 doctools/oil_doc_test.py 74 frontend/reader_test.py 81 tools/osh2oil_test.py 83 osh/cmd_eval_test.py 83 pyext/fastlex_test.py 87 frontend/match_test.py 90 lazylex/html_test.py 93 osh/builtin_lib_test.py 97 frontend/id_kind_def_test.py 97 frontend/lexer_test.py 101 osh/word_test.py 102 doctools/split_doc_test.py 122 osh/bool_parse_test.py 124 osh/history_test.py 133 osh/string_ops_test.py 144 oil_lang/expr_parse_test.py 144 osh/word_eval_test.py 157 oil_lang/builtin_oil_test.py 157 test/sh_spec_test.py 163 osh/glob_test.py 169 osh/split_test.py 172 asdl/gen_python_test.py 179 core/comp_ui_test.py 180 asdl/front_end_test.py 181 osh/arith_parse_test.py 184 pyext/posix_test.py 187 osh/braces_test.py 207 core/process_test.py 211 doctools/cmark_test.py 227 asdl/examples/typed_arith_parse_test.py 240 frontend/args_test.py 253 build/ninja_lib_test.py 274 pyext/fanos_test.py 296 qsn_/qsn_test.py 320 core/state_test.py 332 pyext/libc_test.py 442 frontend/lexer_def_test.py 650 osh/word_parse_test.py 797 core/completion_test.py 1263 osh/cmd_parse_test.py 9704 total Other Shell Tests 21 test/asan.sh 22 test/common-test.sh 24 test/nix.sh 26 test/shebang.sh 31 test/smoosh_import.py 32 test/py_stdlib.sh 34 test/other.sh 46 test/cpp-unit.sh 48 test/spec-common.sh 51 test/ble.sh 54 test/report.R 54 test/vagrant.sh 59 test/tsv-lib-test.sh 60 test/arena.sh 60 test/baseline.spec-cpp.sh 78 test/tsv-lib.sh 83 test/gentoo.sh 92 test/all.sh 96 test/signal-state.sh 103 test/spec_params.py 103 test/spec_ysh.py 104 test/oshc-deps.sh 118 test/opyc.sh 138 test/parse-error-compare.sh 154 test/spec-alpine.sh 164 test/process-table-portable.sh 168 test/gold.sh 170 test/process-table.sh 181 test/coverage.sh 199 test/spec_lib.py 200 test/wild-runner.sh 203 test/spec_osh.py 213 test/osh-usage.sh 213 test/smoosh.sh 219 test/syscall.py 223 test/process_table.py 232 test/stateful.sh 239 test/common.sh 244 test/spec-bin.sh 289 test/unit.sh 307 test/alpine.sh 314 test/shell-vs-shell.sh 321 test/oil-runtime-errors.sh 373 test/spec-cpp.sh 385 test/lint.sh 411 test/syscall.sh 476 test/spec-runner.sh 622 test/ysh-prettify.sh 724 test/wild.sh 802 test/wild_report.py 1130 test/runtime-errors.sh 1168 test/spec.sh 1293 test/sh_spec.py 1443 test/parse-errors.sh 14617 total Test Automation 21 frontend/TEST.sh 22 core/TEST.sh 81 pea/TEST.sh 91 asdl/TEST.sh 118 cpp/TEST.sh 270 opy/TEST.sh 330 mycpp/TEST.sh 933 total mycpp Translator 14 mycpp/util.py 38 mycpp/crash.py 60 mycpp/compare_pairs.py 93 mycpp/pass_state.py 114 mycpp/format_strings.py 215 mycpp/mylib.py 372 mycpp/mycpp_main.py 464 mycpp/debug_pass.py 529 mycpp/const_pass.py 2759 mycpp/cppgen_pass.py 4658 total mycpp Test Data 0 mycpp/examples/__init__.py 13 mycpp/examples/invalid_print.py 15 mycpp/examples/invalid_format_args.py 20 mycpp/examples/invalid_format_strings.py 32 mycpp/examples/invalid_types.py 32 mycpp/examples/invalid_types_2.py 34 mycpp/examples/invalid_condition.py 37 mycpp/examples/invalid_try_else.py 42 mycpp/examples/test_switch.py 44 mycpp/examples/invalid_default_args.py 45 mycpp/examples/arith_ops.py 47 mycpp/examples/lexer_main.py 48 mycpp/examples/varargs.py 49 mycpp/examples/fib_recursive.py 54 mycpp/examples/fib_iter.py 55 mycpp/examples/tuple_return_value.py 59 mycpp/examples/test_cast.py 61 mycpp/examples/test_globals.py 61 mycpp/examples/test_hoist.py 62 mycpp/examples/cgi.py 64 mycpp/examples/asdl_generated.py 64 mycpp/examples/files.py 67 mycpp/examples/test_conditional.py 70 mycpp/examples/escape.py 75 mycpp/examples/test_default_args.py 78 mycpp/examples/cartesian.py 80 mycpp/examples/modules.py 89 mycpp/examples/strings.py 101 mycpp/examples/iterators.py 106 mycpp/examples/pgen2_demo.py 110 mycpp/examples/length.py 113 mycpp/examples/control_flow.py 170 mycpp/examples/containers.py 177 mycpp/examples/loops.py 196 mycpp/examples/scoped_resource.py 209 mycpp/examples/classes_gc.py 268 mycpp/examples/parse.py 283 mycpp/examples/classes.py 3130 total Zephyr ASDL 13 asdl/util.py 42 asdl/runtime.py 58 asdl/NINJA_subgraph.py 62 asdl/pybase.py 138 asdl/visitor.py 270 asdl/ast.py 302 asdl/asdl_main.py 500 asdl/format.py 511 asdl/front_end.py 553 asdl/gen_python.py 734 asdl/gen_cpp.py 3183 total pgen2 Parser Generator 80 pgen2/pnode.py 101 pgen2/driver.py 149 pgen2/token.py 220 pgen2/parse.py 303 pgen2/grammar.py 428 pgen2/pgen.py 579 pgen2/tokenize.py 1860 total Other Code Generators 97 core/optview_gen.py 99 frontend/option_gen.py 100 osh/arith_parse_gen.py 110 frontend/signal_gen.py 243 oil_lang/grammar_gen.py 490 frontend/lexer_gen.py 517 frontend/flag_gen.py 604 frontend/consts_gen.py 2260 total Hand-written C++ Code 16 cpp/osh_tdop.cc 18 cpp/fanos.h 22 cpp/pylib.h 30 cpp/preamble.h 36 cpp/libc.h 36 cpp/translation_stubs.h 48 cpp/pgen2.cc 49 cpp/fanos_shared.h 50 cpp/osh.h 52 cpp/osh_tdop.h 56 cpp/qsn.h 57 cpp/fanos.cc 58 cpp/pylib.cc 74 cpp/frontend_pyreadline.h 75 cpp/frontend_match.h 87 cpp/pgen2.h 100 cpp/frontend_match.cc 157 cpp/osh.cc 161 cpp/frontend_flag_spec.h 164 cpp/stdlib.h 217 cpp/libc.cc 228 cpp/stdlib.cc 268 cpp/frontend_flag_spec.cc 283 cpp/core.h 304 cpp/frontend_pyreadline.cc 354 cpp/core.cc 3000 total Garbage-Collected Runtime 20 mycpp/runtime.h 58 mycpp/gc_slab.h 65 mycpp/comparators.h 66 mycpp/common.h 104 mycpp/gc_tuple.h 159 mycpp/gc_builtins.h 168 mycpp/gc_str.h 185 mycpp/gc_obj.h 234 mycpp/gc_alloc.h 249 mycpp/gc_mylib.cc 253 mycpp/gc_mylib.h 290 mycpp/mark_sweep_heap.h 374 mycpp/gc_dict.h 390 mycpp/gc_builtins.cc 423 mycpp/mark_sweep_heap.cc 493 mycpp/gc_list.h 598 mycpp/gc_str.cc 4129 total Unit tests in C++ 30 mycpp/cheney_heap_test.cc 44 cpp/qsn_test.cc 50 cpp/osh_test.cc 52 cpp/pylib_test.cc 62 mycpp/bump_leak_heap_test.cc 87 cpp/frontend_match_test.cc 135 cpp/libc_test.cc 138 mycpp/gc_tuple_test.cc 152 cpp/stdlib_test.cc 154 cpp/frontend_flag_spec_test.cc 178 cpp/obj_layout_test.cc 206 cpp/data_race_test.cc 222 mycpp/gc_stress_test.cc 289 mycpp/mark_sweep_heap_test.cc 301 mycpp/gc_mylib_test.cc 327 mycpp/gc_builtins_test.cc 382 cpp/core_test.cc 396 mycpp/gc_heap_test.cc 484 mycpp/gc_list_test.cc 486 mycpp/gc_dict_test.cc 502 mycpp/small_str_test.cc 1475 mycpp/gc_str_test.cc 6152 total Incremental C++ Build 20 pea/NINJA_subgraph.py 31 osh/NINJA_subgraph.py 37 oil_lang/NINJA_subgraph.py 45 prebuilt/NINJA_subgraph.py 48 core/NINJA_subgraph.py 58 asdl/NINJA_subgraph.py 76 bin/NINJA_subgraph.py 104 NINJA-config.sh 145 frontend/NINJA_subgraph.py 199 cpp/NINJA_subgraph.py 253 build/ninja_lib_test.py 347 build/ninja-rules-cpp.sh 347 build/ninja-rules-py.sh 402 build/ninja_main.py 413 mycpp/NINJA_subgraph.py 480 build/ninja_lib.py 3005 total Build Automation 4 build/detect-cc.c 5 build/dev.sh 19 build/detect-readline.c 40 build/cpp.sh 42 build/old-ovm-test.sh 51 build/c_module_toc.py 51 build/hello.mk 53 build/make_zip.py 60 build/clean.sh 60 build/oil.mk 75 build/common.sh 94 build/c_module_srcs.py 95 build/dev-shell-test.sh 96 build/portable-rules.mk 105 build/native.sh 113 install 115 build/dev-shell.sh 155 build/dynamic_deps.py 191 build/ovm-actions.sh 195 Makefile 209 build/dynamic-deps.sh 313 build/deps.sh 347 build/ninja-rules-cpp.sh 347 build/ninja-rules-py.sh 354 build/cpython-defs.sh 402 build/ninja_main.py 433 configure 434 build/ovm-compile.sh 480 build/ninja_lib.py 482 build/py.sh 515 build/cpython_defs.py 563 build/doc.sh 6498 total Release Automation 26 devtools/release-patch.sh 82 devtools/release-native.sh 207 devtools/release-history.sh 241 devtools/release-note.sh 775 devtools/release.sh 971 devtools/release-version.sh 2302 total Soil: Multi-cloud CI with containers 0 soil/__init__.py 20 soil/tests.sh 35 soil/collect_json.py 43 soil/github-tool.sh 43 soil/web-remote-test.sh 50 soil/timeout-test.sh 53 soil/web_test.py 72 soil/common.sh 81 soil/sourcehut.sh 117 soil/github-actions.sh 125 soil/travis.sh 151 soil/maybe-merge.sh 165 soil/web-init.sh 178 soil/web.sh 293 soil/web-worker.sh 387 soil/host-shim.sh 558 soil/worker.sh 795 soil/web.py 3166 total Benchmarks 0 benchmarks/__init__.py 13 benchmarks/fake_libc.py 20 benchmarks/uftrace_allocs_test.py 25 benchmarks/callgrind.sh 30 benchmarks/cachegrind.sh 32 benchmarks/report_test.R 41 benchmarks/alloclog.py 41 benchmarks/id-test.sh 42 benchmarks/pypy.sh 45 benchmarks/micro.sh 50 benchmarks/virtual_memory.py 51 benchmarks/gc_stats_to_tsv.py 54 benchmarks/cachegrind_to_tsv.py 60 benchmarks/builtin-io.sh 60 benchmarks/gperftools.sh 65 benchmarks/parse-help.sh 75 benchmarks/systemtap.sh 89 benchmarks/gc-cachegrind.sh 92 benchmarks/pytrace.py 93 benchmarks/alloclog.sh 95 benchmarks/common.sh 97 benchmarks/awk-python.sh 97 benchmarks/uftrace_plugin.py 98 benchmarks/common.R 107 benchmarks/mimalloc.sh 109 benchmarks/auto.sh 112 benchmarks/report.sh 125 benchmarks/mycpp.sh 165 benchmarks/startup.sh 176 benchmarks/vm-baseline.sh 179 benchmarks/uftrace_allocs.py 184 benchmarks/pytrace.sh 207 benchmarks/time_.py 295 benchmarks/time-test.sh 345 benchmarks/uftrace.sh 419 benchmarks/osh-runtime.sh 429 benchmarks/perf.sh 442 benchmarks/id.sh 479 benchmarks/ovm-build.sh 517 benchmarks/osh-parser.sh 573 benchmarks/compute.sh 715 benchmarks/gc.sh 1299 benchmarks/report.R 8242 total Metrics 72 metrics/cpython-defs.R 88 metrics/native-code.R 132 metrics/tarball.sh 143 metrics/bytecode.sh 199 metrics/native-code.sh 388 metrics/bytecode.R 492 metrics/source-code.sh 1514 total Generated Python Code 0 _devbuild/gen/__init__.py 4 _devbuild/gen/arith_nt.py 10 _devbuild/gen/find_nt.py 90 _devbuild/gen/grammar_nt.py 121 _devbuild/gen/hnode_asdl.py 121 _devbuild/gen/types_asdl.py 187 _devbuild/gen/expr_asdl.py 222 _devbuild/gen/demo_lib_asdl.py 324 _devbuild/gen/arg_types.py 370 _devbuild/gen/option_asdl.py 493 _devbuild/gen/id_kind.py 531 _devbuild/gen/shared_variant_asdl.py 633 _devbuild/gen/typed_arith_asdl.py 866 _devbuild/gen/id_kind_asdl.py 1008 _devbuild/gen/find_asdl.py 1129 _devbuild/gen/typed_demo_asdl.py 2525 _devbuild/gen/runtime_asdl.py 10475 _devbuild/gen/syntax_asdl.py 19109 total Tools 31 tools/readlink.py 153 tools/deps.py 161 tools/tools_main.py 1108 tools/osh2oil.py 1453 total Doc Tools 13 doctools/util.py 20 doctools/html_lib.py 85 doctools/html_head.py 107 doctools/doc_html.py 138 doctools/spelling.py 151 doctools/split_doc.py 388 doctools/cmark.py 416 lazylex/html.py 460 doctools/make_help.py 618 doctools/oil_doc.py 2396 total Web 79 web/osh-to-oil.js 149 web/ajax.js 397 web/table/csv2html.py 433 web/table/table-sort.js 1058 total