From unknown Sat Aug 16 12:41:35 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#60025 <60025@debbugs.gnu.org> To: bug#60025 <60025@debbugs.gnu.org> Subject: Status: [PATCH] Add go-ts-mode and go-mod-ts-mode Reply-To: bug#60025 <60025@debbugs.gnu.org> Date: Sat, 16 Aug 2025 19:41:35 +0000 retitle 60025 [PATCH] Add go-ts-mode and go-mod-ts-mode reassign 60025 emacs submitter 60025 Randy Taylor severity 60025 normal tag 60025 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 12 21:14:12 2022 Received: (at submit) by debbugs.gnu.org; 13 Dec 2022 02:14:12 +0000 Received: from localhost ([127.0.0.1]:57118 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p4uo7-00033P-J3 for submit@debbugs.gnu.org; Mon, 12 Dec 2022 21:14:12 -0500 Received: from lists.gnu.org ([209.51.188.17]:47680) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p4uo5-00033I-7z for submit@debbugs.gnu.org; Mon, 12 Dec 2022 21:14:10 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p4uo4-0006ic-S3 for bug-gnu-emacs@gnu.org; Mon, 12 Dec 2022 21:14:08 -0500 Received: from mail-0301.mail-europe.com ([188.165.51.139]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p4uo0-000292-Fv for bug-gnu-emacs@gnu.org; Mon, 12 Dec 2022 21:14:08 -0500 Date: Tue, 13 Dec 2022 02:13:47 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rjt.dev; s=protonmail2; t=1670897638; x=1671156838; bh=Guh/3MqLVyw5HBEEMxan5Rbym1YAk8dDqNnkxPSN3yA=; h=Date:To:From:Subject:Message-ID:Feedback-ID:From:To:Cc:Date: Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector; b=gVVHIwVQR60HMJSdNY+aOJ+NTK9mUc+zKKey5GzPkfvfayJGImMd9cVmdU4yvoDaa VtTFRyXNEGrDvgxyyyamqnw9GzoCUIpYhqyQqNdK9RWi75d5jF4PJjPfDtRs8QmpvP RqneHWMpYuiZCZkQfmW/KaI0ctmP2uC21LQJxXOUzpdIj94ztSKRvoD2cKlGNx3OYe QFM3N3dfOJ0tfhD1EL86gho/lkCyG4Hn+pevED8i0wHAuwPYvWrTCG4t1ebcCMXC1U j1VC3f3mFu04qZYbS1uaKJdCo2skgBryMsy4Xom2+iU7OXQy/jFkmdm5k/fL4A9AEL ry8HCq/Gu37vg== To: "bug-gnu-emacs@gnu.org" From: Randy Taylor Subject: [PATCH] Add go-ts-mode and go-mod-ts-mode Message-ID: Feedback-ID: 44397038:user:proton MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_HLkbmLkavlLRk0xSmROiqudbwPZSYsNQoiw5G6H1k" Received-SPF: pass client-ip=188.165.51.139; envelope-from=dev@rjt.dev; helo=mail-0301.mail-europe.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) This is a multi-part message in MIME format. --b1_HLkbmLkavlLRk0xSmROiqudbwPZSYsNQoiw5G6H1k Content-Type: multipart/alternative; boundary="b2_HLkbmLkavlLRk0xSmROiqudbwPZSYsNQoiw5G6H1k" --b2_HLkbmLkavlLRk0xSmROiqudbwPZSYsNQoiw5G6H1k Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 WC1EZWJidWdzLUNDOiBjYXNvdXJpQGdtYWlsLmNvbSwgdGhlb0B0aG9ybmhpbGwubm8KCkkgYW0g aGF2aW5nIGEgdGlueSBiaXQgb2YgdHJvdWJsZSB3aXRoIGEgZ28ubW9kIGluZGVudGF0aW9uIHJ1 bGUuIFVzaW5nIHRoZSBwYXRjaCwgY3JlYXRlIGEgZ28ubW9kIGZpbGUgYW55d2hlcmUsIGFjdGl2 YXRlIGdvLW1vZC10cy1tb2RlIGFuZCBhZGQgdGhlIGZvbGxvd2luZzoKCnJlcXVpcmUgKCkKClBs YWNlIHBvaW50IGluc2lkZSB0aGUgcGFyZW5zLCBhbmQgdGhlbiBoaXQgZW50ZXIuIFRoZSBleHBl Y3RhdGlvbiBpcyB0aGF0IHBvaW50IHdpbGwgZW5kIHVwIGluZGVudGVkIGluc2lkZSB0aGF0IGJs b2NrLiBJZiB5b3UgYWRkIHRoZSB0ZXh0ICJ0ZXN0IHYxLjAuMCIgYW5kIGhpdCBUQUIsIGl0IHdp bGwgaW5kZW50IHByb3Blcmx5IChhbmQgaWYgeW91IGhpdCBlbnRlciBhZnRlciB0aGF0IHRleHQg aXQgd2lsbCBpbmRlbnQgcHJvcGVybHkgZm9yIHRoZSBuZXh0IGVudHJ5KS4gSWYgeW91IGdvIHRv IHRoZSBlbmQgb2YgdGhlIGxpbmUgZm9yIHRoZSB0b3AgcGFyZW4gYW5kIGhpdCBlbnRlciwgaXQg d2lsbCBub3QgaW5kZW50IChhbmQgd2Ugd2FudCBpdCB0bykuIEl0IHNlZW1zIHRvIGdpdmUgdXMg bm8tbm9kZSBpbiB0aGF0IGNpcmN1bXN0YW5jZS4gSXMgdGhlcmUgYSBzaW1wbGUgaW5kZW50IHJ1 bGUgdGhhdCBjYW4gbWF0Y2ggZXhhY3RseSB0aGF0IHRoYXQgSSdtIG1pc3Npbmc/ --b2_HLkbmLkavlLRk0xSmROiqudbwPZSYsNQoiw5G6H1k Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IHRhaG9tYSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAx NHB4OyI+WC1EZWJidWdzLUNDOiA8c3Bhbj48c3BhbiBkYXRhLXRlc3RpZD0iY29tcG9zZXItYWRk cmVzc2VzLWl0ZW0tbGFiZWwiPmNhc291cmlAZ21haWwuY29tPC9zcGFuPjwvc3Bhbj4sIDxzcGFu PjxzcGFuIGRhdGEtdGVzdGlkPSJjb21wb3Nlci1hZGRyZXNzZXMtaXRlbS1sYWJlbCI+dGhlb0B0 aG9ybmhpbGwubm88L3NwYW4+PC9zcGFuPjxicj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWls eTogdGFob21hLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7Ij48YnI+PC9kaXY+PGRpdiBz dHlsZT0iZm9udC1mYW1pbHk6IHRhaG9tYSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+ SSBhbSBoYXZpbmcgYSB0aW55IGJpdCBvZiB0cm91YmxlIHdpdGggYSBnby5tb2QgaW5kZW50YXRp b24gcnVsZS4gVXNpbmcgdGhlIHBhdGNoLCBjcmVhdGUgYSBnby5tb2QgZmlsZSBhbnl3aGVyZSwg YWN0aXZhdGUgZ28tbW9kLXRzLW1vZGUgYW5kIGFkZCB0aGUgZm9sbG93aW5nOjwvZGl2PjxkaXYg c3R5bGU9ImZvbnQtZmFtaWx5OiB0YWhvbWEsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsi Pjxicj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTogdGFob21hLCBzYW5zLXNlcmlmOyBm b250LXNpemU6IDE0cHg7Ij5yZXF1aXJlICgpPC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6 IHRhaG9tYSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyI+PGJyPjwvZGl2PjxkaXYgc3R5 bGU9ImZvbnQtZmFtaWx5OiB0YWhvbWEsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPlBs YWNlIHBvaW50IGluc2lkZSB0aGUgcGFyZW5zLCBhbmQgdGhlbiBoaXQgZW50ZXIuIFRoZSBleHBl Y3RhdGlvbiBpcyB0aGF0IHBvaW50IHdpbGwgZW5kIHVwIGluZGVudGVkIGluc2lkZSB0aGF0IGJs b2NrLiBJZiB5b3UgYWRkIHRoZSB0ZXh0ICJ0ZXN0IHYxLjAuMCIgYW5kIGhpdCBUQUIsIGl0IHdp bGwgaW5kZW50IHByb3Blcmx5IChhbmQgaWYgeW91IGhpdCBlbnRlciBhZnRlciB0aGF0IHRleHQg aXQgd2lsbCBpbmRlbnQgcHJvcGVybHkgZm9yIHRoZSBuZXh0IGVudHJ5KS4gSWYgeW91IGdvIHRv IHRoZSBlbmQgb2YgdGhlIGxpbmUgZm9yIHRoZSB0b3AgcGFyZW4gYW5kIGhpdCBlbnRlciwgaXQg d2lsbCBub3QgaW5kZW50IChhbmQgd2Ugd2FudCBpdCB0bykuIEl0IHNlZW1zIHRvIGdpdmUgdXMg bm8tbm9kZSBpbiB0aGF0IGNpcmN1bXN0YW5jZS4gSXMgdGhlcmUgYSBzaW1wbGUgaW5kZW50IHJ1 bGUgdGhhdCBjYW4gbWF0Y2ggZXhhY3RseSB0aGF0IHRoYXQgSSdtIG1pc3Npbmc/PGJyPjwvZGl2 Pg0KPGRpdiBjbGFzcz0icHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2sgcHJvdG9ubWFpbF9zaWdu YXR1cmVfYmxvY2stZW1wdHkiIHN0eWxlPSJmb250LWZhbWlseTogdGFob21hLCBzYW5zLXNlcmlm OyBmb250LXNpemU6IDE0cHg7Ij4NCiAgICA8ZGl2IGNsYXNzPSJwcm90b25tYWlsX3NpZ25hdHVy ZV9ibG9jay11c2VyIHByb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLWVtcHR5Ij48L2Rpdj4NCiAg ICANCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLXBy b3RvbiBwcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay1lbXB0eSI+DQogICAgICAgIA0KICAgICAg ICAgICAgPC9kaXY+DQo8L2Rpdj4NCg== --b2_HLkbmLkavlLRk0xSmROiqudbwPZSYsNQoiw5G6H1k-- --b1_HLkbmLkavlLRk0xSmROiqudbwPZSYsNQoiw5G6H1k Content-Type: text/x-patch; name=0001-Add-go-ts-mode-and-go-mod-ts-mode.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=0001-Add-go-ts-mode-and-go-mod-ts-mode.patch RnJvbSAwNmU0ODNlYzQ0MjVmOWQzMGVjYjEzOWVhOGM5OTg0NmQwYmM5YjBiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSYW5keSBUYXlsb3IgPGRldkByanQuZGV2PgpEYXRlOiBTdW4s IDExIERlYyAyMDIyIDE4OjQxOjE2IC0wNTAwClN1YmplY3Q6IFtQQVRDSF0gQWRkIGdvLXRzLW1v ZGUgYW5kIGdvLW1vZC10cy1tb2RlCgoqIGFkbWluL25vdGVzL3RyZWUtc2l0dGVyL2J1aWxkLW1v ZHVsZS9iYXRjaC5zaDoKKiBhZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9idWlsZC1tb2R1bGUvYnVp bGQuc2g6IEFkZCBnby1tb2Qgc3VwcG9ydC4KKiBldGMvTkVXUzogTWVudGlvbiB0aGVtLgoqIGxp c3AvcHJvZ21vZGVzL2VnbG90LmVsIChlZ2xvdC1zZXJ2ZXItcHJvZ3JhbXMpOiBBZGQgdGhlbS4K KiBsaXNwL3Byb2dtb2Rlcy9nby10cy1tb2RlLmVsOiBOZXcgbWFqb3IgbW9kZXMgd2l0aAp0cmVl LXNpdHRlciBzdXBwb3J0LgotLS0KIGFkbWluL25vdGVzL3RyZWUtc2l0dGVyL2J1aWxkLW1vZHVs ZS9iYXRjaC5zaCB8ICAgMSArCiBhZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9idWlsZC1tb2R1bGUv YnVpbGQuc2ggfCAgIDUgKwogZXRjL05FV1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgICA1ICsKIGxpc3AvcHJvZ21vZGVzL2VnbG90LmVsICAgICAgICAgICAgICAgICAg ICAgICB8ICAgMyArLQogbGlzcC9wcm9nbW9kZXMvZ28tdHMtbW9kZS5lbCAgICAgICAgICAgICAg ICAgIHwgMzMxICsrKysrKysrKysrKysrKysrKwogNSBmaWxlcyBjaGFuZ2VkLCAzNDQgaW5zZXJ0 aW9ucygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpc3AvcHJvZ21vZGVz L2dvLXRzLW1vZGUuZWwKCmRpZmYgLS1naXQgYS9hZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9idWls ZC1tb2R1bGUvYmF0Y2guc2ggYi9hZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9idWlsZC1tb2R1bGUv YmF0Y2guc2gKaW5kZXggYzM5NTQ0OTk3Ny4uYzMyMmQ0MDVmMiAxMDA3NTUKLS0tIGEvYWRtaW4v bm90ZXMvdHJlZS1zaXR0ZXIvYnVpbGQtbW9kdWxlL2JhdGNoLnNoCisrKyBiL2FkbWluL25vdGVz L3RyZWUtc2l0dGVyL2J1aWxkLW1vZHVsZS9iYXRjaC5zaApAQCAtOCw2ICs4LDcgQEAgbGFuZ3Vh Z2VzPQogICAgICdjLXNoYXJwJwogICAgICdkb2NrZXJmaWxlJwogICAgICdnbycKKyAgICAnZ28t bW9kJwogICAgICdodG1sJwogICAgICdqYXZhc2NyaXB0JwogICAgICdqc29uJwpkaWZmIC0tZ2l0 IGEvYWRtaW4vbm90ZXMvdHJlZS1zaXR0ZXIvYnVpbGQtbW9kdWxlL2J1aWxkLnNoIGIvYWRtaW4v bm90ZXMvdHJlZS1zaXR0ZXIvYnVpbGQtbW9kdWxlL2J1aWxkLnNoCmluZGV4IGQwMjBlZTkyYzMu LjI3ZGUxN2MzM2UgMTAwNzU1Ci0tLSBhL2FkbWluL25vdGVzL3RyZWUtc2l0dGVyL2J1aWxkLW1v ZHVsZS9idWlsZC5zaAorKysgYi9hZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9idWlsZC1tb2R1bGUv YnVpbGQuc2gKQEAgLTI2LDYgKzI2LDExIEBAIGdyYW1tYXJkaXI9CiAgICAgImNtYWtlIikKICAg ICAgICAgbmFtZXNwYWNlPSJ1eWhhIgogICAgICAgICA7OworICAgICJnby1tb2QiKQorICAgICAg ICAjIFRoZSBwYXJzZXIgaXMgY2FsbGVkICJnb21vZCIuCisgICAgICAgIGxhbmc9ImdvbW9kIgor ICAgICAgICBuYW1lc3BhY2U9ImNhbWRlbmNoZWVrIgorICAgICAgICA7OwogICAgICJ0eXBlc2Ny aXB0IikKICAgICAgICAgc291cmNlZGlyPSJ0cmVlLXNpdHRlci10eXBlc2NyaXB0L3R5cGVzY3Jp cHQvc3JjIgogICAgICAgICBncmFtbWFyZGlyPSJ0cmVlLXNpdHRlci10eXBlc2NyaXB0L3R5cGVz Y3JpcHQiCmRpZmYgLS1naXQgYS9ldGMvTkVXUyBiL2V0Yy9ORVdTCmluZGV4IDZjYjUzMWNkMGYu LmU4NWUxZmUyNDQgMTAwNjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBAIC0zMDc4 LDYgKzMwNzgsMTEgQEAgQSBtYWpvciBtb2RlIGJhc2VkIG9uIHRoZSB0cmVlLXNpdHRlciBsaWJy YXJ5IGZvciBlZGl0aW5nIENNYWtlIGZpbGVzLgogSXQgaW5jbHVkZXMgc3VwcG9ydCBmb3IgZm9u dC1sb2NraW5nLCBpbmRlbnRhdGlvbiwgSW1lbnUsIGFuZAogd2hpY2gtZnVuYy4KIAorKiogTmV3 IG1ham9yIG1vZGVzICdnby10cy1tb2RlJyBhbmQgJ2dvLW1vZC10cy1tb2RlJy4KK01ham9yIG1v ZGVzIGJhc2VkIG9uIHRoZSB0cmVlLXNpdHRlciBsaWJyYXJ5IGZvciBlZGl0aW5nIHByb2dyYW1z IGluCit0aGUgR28gbGFuZ3VhZ2UuICBJdCBpbmNsdWRlcyBzdXBwb3J0IGZvciBmb250LWxvY2tp bmcsIGluZGVudGF0aW9uLAorSW1lbnUsIGFuZCB3aGljaC1mdW5jLgorCiAMCiAqIEluY29tcGF0 aWJsZSBMaXNwIENoYW5nZXMgaW4gRW1hY3MgMjkuMQogCmRpZmYgLS1naXQgYS9saXNwL3Byb2dt b2Rlcy9lZ2xvdC5lbCBiL2xpc3AvcHJvZ21vZGVzL2VnbG90LmVsCmluZGV4IDljNWEzNjFkZjcu LjAyYmI2YmI2NjUgMTAwNjQ0Ci0tLSBhL2xpc3AvcHJvZ21vZGVzL2VnbG90LmVsCisrKyBiL2xp c3AvcHJvZ21vZGVzL2VnbG90LmVsCkBAIC0yMTEsNyArMjExLDggQEAgZWdsb3Qtc2VydmVyLXBy b2dyYW1zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlbG0tbW9kZSAuICgiZWxt LWxhbmd1YWdlLXNlcnZlciIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWlu dC1tb2RlIC4gKCJtaW50IiAibHMiKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KGtvdGxpbi1tb2RlIC4gKCJrb3RsaW4tbGFuZ3VhZ2Utc2VydmVyIikpCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICgoZ28tbW9kZSBnby1kb3QtbW9kLW1vZGUgZ28tZG90LXdvcmst bW9kZSkgLiAoImdvcGxzIikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoZ28t bW9kZSBnby1kb3QtbW9kLW1vZGUgZ28tZG90LXdvcmstbW9kZSBnby10cy1tb2RlIGdvLW1vZC10 cy1tb2RlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLiAoImdvcGxzIikpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUi1tb2RlIGVzcy1yLW1vZGUpIC4gKCJS IiAiLS1zbGF2ZSIgIi1lIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAibGFuZ3VhZ2VzZXJ2ZXI6OnJ1bigpIikpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICgoamF2YS1tb2RlIGphdmEtdHMtbW9kZSkgLiAoImpkdGxzIikp CmRpZmYgLS1naXQgYS9saXNwL3Byb2dtb2Rlcy9nby10cy1tb2RlLmVsIGIvbGlzcC9wcm9nbW9k ZXMvZ28tdHMtbW9kZS5lbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi4z ZmY2MWQzZmZjCi0tLSAvZGV2L251bGwKKysrIGIvbGlzcC9wcm9nbW9kZXMvZ28tdHMtbW9kZS5l bApAQCAtMCwwICsxLDMzMSBAQAorOzs7IGdvLXRzLW1vZGUuZWwgLS0tIHRyZWUtc2l0dGVyIHN1 cHBvcnQgZm9yIEdvICAtKi0gbGV4aWNhbC1iaW5kaW5nOiB0OyAtKi0KKworOzsgQ29weXJpZ2h0 IChDKSAyMDIyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCis7OyBBdXRob3IgICAg IDogUmFuZHkgVGF5bG9yIDxkZXZAcmp0LmRldj4KKzs7IE1haW50YWluZXIgOiBSYW5keSBUYXls b3IgPGRldkByanQuZGV2PgorOzsgQ3JlYXRlZCAgICA6IERlY2VtYmVyIDIwMjIKKzs7IEtleXdv cmRzICAgOiBnbyBsYW5ndWFnZXMgdHJlZS1zaXR0ZXIKKworOzsgVGhpcyBmaWxlIGlzIHBhcnQg b2YgR05VIEVtYWNzLgorCis7OyBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorOzsgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKzs7IHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9y Cis7OyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCis7OyBHTlUgRW1hY3Mg aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKzs7IGJ1 dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5 IG9mCis7OyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlCis7OyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgorCis7OyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZQorOzsgYWxvbmcgd2l0aCBHTlUgRW1hY3MuICBJZiBub3QsIHNl ZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCis7OzsgQ29tbWVudGFyeToKKzs7 CisKKzs7OyBDb2RlOgorCisocmVxdWlyZSAndHJlZXNpdCkKKyhldmFsLXdoZW4tY29tcGlsZSAo cmVxdWlyZSAncngpKQorCisoZGVjbGFyZS1mdW5jdGlvbiB0cmVlc2l0LXBhcnNlci1jcmVhdGUg InRyZWVzaXQuYyIpCisoZGVjbGFyZS1mdW5jdGlvbiB0cmVlc2l0LWluZHVjZS1zcGFyc2UtdHJl ZSAidHJlZXNpdC5jIikKKyhkZWNsYXJlLWZ1bmN0aW9uIHRyZWVzaXQtbm9kZS1jaGlsZCAidHJl ZXNpdC5jIikKKyhkZWNsYXJlLWZ1bmN0aW9uIHRyZWVzaXQtbm9kZS1jaGlsZC1ieS1maWVsZC1u YW1lICJ0cmVlc2l0LmMiKQorKGRlY2xhcmUtZnVuY3Rpb24gdHJlZXNpdC1ub2RlLXN0YXJ0ICJ0 cmVlc2l0LmMiKQorKGRlY2xhcmUtZnVuY3Rpb24gdHJlZXNpdC1ub2RlLXR5cGUgInRyZWVzaXQu YyIpCisKKyhkZWZjdXN0b20gZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0IDQKKyAgIk51bWJlciBv ZiBzcGFjZXMgZm9yIGVhY2ggaW5kZW50YXRpb24gc3RlcCBpbiBgZ28tdHMtbW9kZScuIgorICA6 dmVyc2lvbiAiMjkuMSIKKyAgOnR5cGUgJ2ludGVnZXIKKyAgOnNhZmUgJ2ludGVnZXJwCisgIDpn cm91cCAnZ28pCisKKyhkZWZ2YXIgZ28tdHMtbW9kZS0tc3ludGF4LXRhYmxlCisgIChsZXQgKCh0 YWJsZSAobWFrZS1zeW50YXgtdGFibGUpKSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/KyAg ICIuIiAgICAgIHRhYmxlKQorICAgIChtb2RpZnktc3ludGF4LWVudHJ5ID8tICAgIi4iICAgICAg dGFibGUpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgPz0gICAiLiIgICAgICB0YWJsZSkKKyAg ICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/JSAgICIuIiAgICAgIHRhYmxlKQorICAgIChtb2RpZnkt c3ludGF4LWVudHJ5ID8mICAgIi4iICAgICAgdGFibGUpCisgICAgKG1vZGlmeS1zeW50YXgtZW50 cnkgP3wgICAiLiIgICAgICB0YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/XiAgICIu IiAgICAgIHRhYmxlKQorICAgIChtb2RpZnktc3ludGF4LWVudHJ5ID8hICAgIi4iICAgICAgdGFi bGUpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgPzwgICAiLiIgICAgICB0YWJsZSkKKyAgICAo bW9kaWZ5LXN5bnRheC1lbnRyeSA/PiAgICIuIiAgICAgIHRhYmxlKQorICAgIChtb2RpZnktc3lu dGF4LWVudHJ5ID9cXCAgIlxcIiAgICAgdGFibGUpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkg Py8gICAiLiAxMjRiIiB0YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/KiAgICIuIDIz IiAgIHRhYmxlKQorICAgIChtb2RpZnktc3ludGF4LWVudHJ5ID9cbiAgIj4gYiIgICAgdGFibGUp CisgICAgdGFibGUpCisgICJTeW50YXggdGFibGUgZm9yIGBnby10cy1tb2RlJy4iKQorCisoZGVm dmFyIGdvLXRzLW1vZGUtLWluZGVudC1ydWxlcworICBgKChnbworICAgICAoKG5vZGUtaXMgIiki KSBwYXJlbnQtYm9sIDApCisgICAgICgobm9kZS1pcyAiXSIpIHBhcmVudC1ib2wgMCkKKyAgICAg KChub2RlLWlzICJ9IikgcGFyZW50LWJvbCAwKQorICAgICAoKG5vZGUtaXMgImxhYmVsZWRfc3Rh dGVtZW50Iikgbm8taW5kZW50KQorICAgICAoKHBhcmVudC1pcyAiYXJndW1lbnRfbGlzdCIpIHBh cmVudC1ib2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAiYmxv Y2siKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChwYXJlbnQt aXMgImNvbnN0X2RlY2xhcmF0aW9uIikgcGFyZW50LWJvbCBnby10cy1tb2RlLWluZGVudC1vZmZz ZXQpCisgICAgICgocGFyZW50LWlzICJkZWZhdWx0X2Nhc2UiKSBwYXJlbnQtYm9sIGdvLXRzLW1v ZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChwYXJlbnQtaXMgImV4cHJlc3Npb25fY2FzZSIpIHBh cmVudC1ib2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAiZXhw cmVzc2lvbl9zd2l0Y2hfc3RhdGVtZW50IikgcGFyZW50LWJvbCAwKQorICAgICAoKHBhcmVudC1p cyAiZmllbGRfZGVjbGFyYXRpb25fbGlzdCIpIHBhcmVudC1ib2wgZ28tdHMtbW9kZS1pbmRlbnQt b2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAiaW1wb3J0X3NwZWNfbGlzdCIpIHBhcmVudC1ib2wg Z28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAibGFiZWxlZF9zdGF0 ZW1lbnQiKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChwYXJl bnQtaXMgImxpdGVyYWxfdmFsdWUiKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNl dCkKKyAgICAgKChwYXJlbnQtaXMgInR5cGVfc3BlYyIpIHBhcmVudC1ib2wgZ28tdHMtbW9kZS1p bmRlbnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAidmFyX2RlY2xhcmF0aW9uIikgcGFyZW50 LWJvbCBnby10cy1tb2RlLWluZGVudC1vZmZzZXQpCisgICAgIChuby1ub2RlIHBhcmVudC1ib2wg MCkpKQorICAiVHJlZS1zaXR0ZXIgaW5kZW50IHJ1bGVzIGZvciBgZ28tdHMtbW9kZScuIikKKwor KGRlZnZhciBnby10cy1tb2RlLS1rZXl3b3JkcworICAnKCJicmVhayIgImNhc2UiICJjaGFuIiAi Y29uc3QiICJjb250aW51ZSIgImRlZmF1bHQiICJkZWZlciIgImVsc2UiCisgICAgImZhbGx0aHJv dWdoIiAiZm9yIiAiZnVuYyIgImdvIiAiZ290byIgImlmIiAiaW1wb3J0IiAiaW50ZXJmYWNlIiAi bWFwIgorICAgICJwYWNrYWdlIiAicmFuZ2UiICJyZXR1cm4iICJzZWxlY3QiICJzdHJ1Y3QiICJz d2l0Y2giICJ0eXBlIiAidmFyIikKKyAgIkdvIGtleXdvcmRzIGZvciB0cmVlLXNpdHRlciBmb250 LWxvY2tpbmcuIikKKworKGRlZnZhciBnby10cy1tb2RlLS1vcGVyYXRvcnMKKyAgJygiKyIgIiYi ICIrPSIgIiY9IiAiJiYiICI9PSIgIiE9IiAiLSIgInwiICItPSIgInw9IiAifHwiICI8IiAiPD0i CisgICAgIioiICJeIiAiKj0iICJePSIgIjwtIiAiPiIgIj49IiAiLyIgIjw8IiAiLz0iICI8PD0i ICIrKyIgIj0iICI6PSIgIiUiCisgICAgIj4+IiAiJT0iICI+Pj0iICItLSIgIiEiICAiLi4uIiAg IiZeIiAiJl49IiAifiIpCisgICJHbyBvcGVyYXRvcnMgZm9yIHRyZWUtc2l0dGVyIGZvbnQtbG9j a2luZy4iKQorCisoZGVmdmFyIGdvLXRzLW1vZGUtLWZvbnQtbG9jay1zZXR0aW5ncworICAodHJl ZXNpdC1mb250LWxvY2stcnVsZXMKKyAgIDpsYW5ndWFnZSAnZ28KKyAgIDpmZWF0dXJlICdicmFj a2V0CisgICAnKChbIigiICIpIiAiWyIgIl0iICJ7IiAifSJdKSBAZm9udC1sb2NrLWJyYWNrZXQt ZmFjZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUgJ2NvbW1lbnQKKyAgICcoKGNv bW1lbnQpIEBmb250LWxvY2stY29tbWVudC1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6 ZmVhdHVyZSAnY29uc3RhbnQKKyAgICcoWyhmYWxzZSkgKGlvdGEpIChuaWwpICh0cnVlKV0gQGZv bnQtbG9jay1jb25zdGFudC1mYWNlCisgICAgIChjb25zdF9kZWNsYXJhdGlvbgorICAgICAgKGNv bnN0X3NwZWMgbmFtZTogKGlkZW50aWZpZXIpIEBmb250LWxvY2stY29uc3RhbnQtZmFjZSkpKQor CisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAnZGVsaW1pdGVyCisgICAnKChbIiwiICIu IiAiOyIgIjoiXSkgQGZvbnQtbG9jay1kZWxpbWl0ZXItZmFjZSkKKworICAgOmxhbmd1YWdlICdn bworICAgOmZlYXR1cmUgJ2Z1bmN0aW9uCisgICAnKChjYWxsX2V4cHJlc3Npb24KKyAgICAgIGZ1 bmN0aW9uOiAoaWRlbnRpZmllcikgQGZvbnQtbG9jay1mdW5jdGlvbi1uYW1lLWZhY2UpCisgICAg IChjYWxsX2V4cHJlc3Npb24KKyAgICAgIGZ1bmN0aW9uOiAoc2VsZWN0b3JfZXhwcmVzc2lvbgor ICAgICAgICAgICAgICAgICBmaWVsZDogKGZpZWxkX2lkZW50aWZpZXIpIEBmb250LWxvY2stZnVu Y3Rpb24tbmFtZS1mYWNlKSkKKyAgICAgKGZ1bmN0aW9uX2RlY2xhcmF0aW9uCisgICAgICBuYW1l OiAoaWRlbnRpZmllcikgQGZvbnQtbG9jay1mdW5jdGlvbi1uYW1lLWZhY2UpCisgICAgIChtZXRo b2RfZGVjbGFyYXRpb24KKyAgICAgIG5hbWU6IChmaWVsZF9pZGVudGlmaWVyKSBAZm9udC1sb2Nr LWZ1bmN0aW9uLW5hbWUtZmFjZSkpCisKKyAgIDpsYW5ndWFnZSAnZ28KKyAgIDpmZWF0dXJlICdr ZXl3b3JkCisgICBgKFssQGdvLXRzLW1vZGUtLWtleXdvcmRzXSBAZm9udC1sb2NrLWtleXdvcmQt ZmFjZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUgJ2xhYmVsCisgICAnKChsYWJl bF9uYW1lKSBAZm9udC1sb2NrLWNvbnN0YW50LWZhY2UpCisKKyAgIDpsYW5ndWFnZSAnZ28KKyAg IDpmZWF0dXJlICdudW1iZXIKKyAgICcoWyhmbG9hdF9saXRlcmFsKQorICAgICAgKGltYWdpbmFy eV9saXRlcmFsKQorICAgICAgKGludF9saXRlcmFsKV0gQGZvbnQtbG9jay1udW1iZXItZmFjZSkK KworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUgJ3N0cmluZworICAgJyhbKGludGVycHJl dGVkX3N0cmluZ19saXRlcmFsKQorICAgICAgKHJhd19zdHJpbmdfbGl0ZXJhbCkKKyAgICAgIChy dW5lX2xpdGVyYWwpXSBAZm9udC1sb2NrLXN0cmluZy1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dv CisgICA6ZmVhdHVyZSAndHlwZQorICAgJyhbKHBhY2thZ2VfaWRlbnRpZmllcikgKHR5cGVfaWRl bnRpZmllcildIEBmb250LWxvY2stdHlwZS1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6 ZmVhdHVyZSAndmFyaWFibGUKKyAgICcoKGlkZW50aWZpZXIpIEBmb250LWxvY2stdmFyaWFibGUt bmFtZS1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAnZXNjYXBlLXNlcXVl bmNlCisgICA6b3ZlcnJpZGUgdAorICAgJygoZXNjYXBlX3NlcXVlbmNlKSBAZm9udC1sb2NrLWVz Y2FwZS1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAncHJvcGVydHkKKyAg IDpvdmVycmlkZSB0CisgICAnKChmaWVsZF9pZGVudGlmaWVyKSBAZm9udC1sb2NrLXByb3BlcnR5 LWZhY2UKKyAgICAgKGtleWVkX2VsZW1lbnQgKF8gKGlkZW50aWZpZXIpIEBmb250LWxvY2stcHJv cGVydHktZmFjZSkpKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAnZXJyb3IKKyAg IDpvdmVycmlkZSB0CisgICAnKChFUlJPUikgQGZvbnQtbG9jay13YXJuaW5nLWZhY2UpKQorICAi VHJlZS1zaXR0ZXIgZm9udC1sb2NrIHNldHRpbmdzIGZvciBgZ28tdHMtbW9kZScuIikKKworKGRl ZnVuIGdvLXRzLW1vZGUtLWltZW51ICgpCisgICJSZXR1cm4gSW1lbnUgYWxpc3QgZm9yIHRoZSBj dXJyZW50IGJ1ZmZlci4iCisgIChsZXQqICgobm9kZSAodHJlZXNpdC1idWZmZXItcm9vdC1ub2Rl KSkKKyAgICAgICAgIChmdW5jLXRyZWUgKHRyZWVzaXQtaW5kdWNlLXNwYXJzZS10cmVlCisgICAg ICAgICAgICAgICAgICAgICBub2RlICJmdW5jdGlvbl9kZWNsYXJhdGlvbiIgbmlsIDEwMDApKQor ICAgICAgICAgKHR5cGUtdHJlZSAodHJlZXNpdC1pbmR1Y2Utc3BhcnNlLXRyZWUKKyAgICAgICAg ICAgICAgICAgICAgIG5vZGUgInR5cGVfc3BlYyIgbmlsIDEwMDApKQorICAgICAgICAgKGZ1bmMt aW5kZXggKGdvLXRzLW1vZGUtLWltZW51LTEgZnVuYy10cmVlKSkKKyAgICAgICAgICh0eXBlLWlu ZGV4IChnby10cy1tb2RlLS1pbWVudS0xIHR5cGUtdHJlZSkpKQorICAgIChhcHBlbmQKKyAgICAg KHdoZW4gZnVuYy1pbmRleCBgKCgiRnVuY3Rpb24iIC4gLGZ1bmMtaW5kZXgpKSkKKyAgICAgKHdo ZW4gdHlwZS1pbmRleCBgKCgiVHlwZSIgLiAsdHlwZS1pbmRleCkpKSkpKQorCisoZGVmdW4gZ28t dHMtbW9kZS0taW1lbnUtMSAobm9kZSkKKyAgIkhlbHBlciBmb3IgYGdvLXRzLW1vZGUtLWltZW51 Jy4KK0ZpbmQgc3RyaW5nIHJlcHJlc2VudGF0aW9uIGZvciBOT0RFIGFuZCBzZXQgbWFya2VyLCB0 aGVuIHJlY3Vyc2UKK3RoZSBzdWJ0cmVlcy4iCisgIChsZXQqICgodHMtbm9kZSAoY2FyIG5vZGUp KQorICAgICAgICAgKGNoaWxkcmVuIChjZHIgbm9kZSkpCisgICAgICAgICAoc3VidHJlZXMgKG1h cGNhbiAjJ2dvLXRzLW1vZGUtLWltZW51LTEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNo aWxkcmVuKSkKKyAgICAgICAgIChuYW1lICh3aGVuIHRzLW5vZGUKKyAgICAgICAgICAgICAgICAg KHRyZWVzaXQtbm9kZS10ZXh0CisgICAgICAgICAgICAgICAgICAocGNhc2UgKHRyZWVzaXQtbm9k ZS10eXBlIHRzLW5vZGUpCisgICAgICAgICAgICAgICAgICAgICgiZnVuY3Rpb25fZGVjbGFyYXRp b24iCisgICAgICAgICAgICAgICAgICAgICAodHJlZXNpdC1ub2RlLWNoaWxkLWJ5LWZpZWxkLW5h bWUgdHMtbm9kZSAibmFtZSIpKQorICAgICAgICAgICAgICAgICAgICAoInR5cGVfc3BlYyIKKyAg ICAgICAgICAgICAgICAgICAgICh0cmVlc2l0LW5vZGUtY2hpbGQtYnktZmllbGQtbmFtZSB0cy1u b2RlICJuYW1lIikpKSkpKQorICAgICAgICAgKG1hcmtlciAod2hlbiB0cy1ub2RlCisgICAgICAg ICAgICAgICAgICAgKHNldC1tYXJrZXIgKG1ha2UtbWFya2VyKQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICh0cmVlc2l0LW5vZGUtc3RhcnQgdHMtbm9kZSkpKSkpCisgICAgKGNvbmQK KyAgICAgKChvciAobnVsbCB0cy1ub2RlKSAobnVsbCBuYW1lKSkgc3VidHJlZXMpCisgICAgIChz dWJ0cmVlcworICAgICAgYCgoLG5hbWUgLChjb25zIG5hbWUgbWFya2VyKSAsQHN1YnRyZWVzKSkp CisgICAgICh0CisgICAgICBgKCgsbmFtZSAuICxtYXJrZXIpKSkpKSkKKworOzs7IyMjYXV0b2xv YWQKKyhhZGQtdG8tbGlzdCAnYXV0by1tb2RlLWFsaXN0ICcoIlxcLmdvXFwnIiAuIGdvLXRzLW1v ZGUpKQorCis7OzsjIyNhdXRvbG9hZAorKGRlZmluZS1kZXJpdmVkLW1vZGUgZ28tdHMtbW9kZSBw cm9nLW1vZGUgIkdvIgorICAiTWFqb3IgbW9kZSBmb3IgZWRpdGluZyBHbywgcG93ZXJlZCBieSB0 cmVlLXNpdHRlci4iCisgIDpncm91cCAnZ28KKyAgOnN5bnRheC10YWJsZSBnby10cy1tb2RlLS1z eW50YXgtdGFibGUKKworICAod2hlbiAodHJlZXNpdC1yZWFkeS1wICdnbykKKyAgICAodHJlZXNp dC1wYXJzZXItY3JlYXRlICdnbykKKworICAgIDs7IENvbW1lbnRzLgorICAgIChzZXRxLWxvY2Fs IGNvbW1lbnQtc3RhcnQgIi8vICIpCisgICAgKHNldHEtbG9jYWwgY29tbWVudC1lbmQgIiIpCisg ICAgKHNldHEtbG9jYWwgY29tbWVudC1zdGFydC1za2lwIChyeCAiLy8iICgqIChzeW50YXggd2hp dGVzcGFjZSkpKSkKKworICAgIDs7IEltZW51LgorICAgIChzZXRxLWxvY2FsIGltZW51LWNyZWF0 ZS1pbmRleC1mdW5jdGlvbiAjJ2dvLXRzLW1vZGUtLWltZW51KQorICAgIChzZXRxLWxvY2FsIHdo aWNoLWZ1bmMtZnVuY3Rpb25zIG5pbCkKKworICAgIDs7IEluZGVudC4KKyAgICAoc2V0cS1sb2Nh bCBpbmRlbnQtdGFicy1tb2RlIHQKKyAgICAgICAgICAgICAgICB0cmVlc2l0LXNpbXBsZS1pbmRl bnQtcnVsZXMgZ28tdHMtbW9kZS0taW5kZW50LXJ1bGVzKQorCisgICAgOzsgRm9udC1sb2NrLgor ICAgIChzZXRxLWxvY2FsIHRyZWVzaXQtZm9udC1sb2NrLXNldHRpbmdzIGdvLXRzLW1vZGUtLWZv bnQtbG9jay1zZXR0aW5ncykKKyAgICAoc2V0cS1sb2NhbCB0cmVlc2l0LWZvbnQtbG9jay1mZWF0 dXJlLWxpc3QKKyAgICAgICAgICAgICAgICAnKCggY29tbWVudCkKKyAgICAgICAgICAgICAgICAg ICgga2V5d29yZCBzdHJpbmcgdHlwZSkKKyAgICAgICAgICAgICAgICAgICggY29uc3RhbnQgZXNj YXBlLXNlcXVlbmNlIGZ1bmN0aW9uIGxhYmVsIG51bWJlcgorICAgICAgICAgICAgICAgICAgICBw cm9wZXJ0eSB2YXJpYWJsZSkKKyAgICAgICAgICAgICAgICAgICggYnJhY2tldCBkZWxpbWl0ZXIg ZXJyb3Igb3BlcmF0b3IpKSkKKworICAgICh0cmVlc2l0LW1ham9yLW1vZGUtc2V0dXApKSkKKwor OzsgZ28ubW9kIHN1cHBvcnQuCisKKyhkZWZ2YXIgZ28tbW9kLXRzLW1vZGUtLXN5bnRheC10YWJs ZQorICAobGV0ICgodGFibGUgKG1ha2Utc3ludGF4LXRhYmxlKSkpCisgICAgKG1vZGlmeS1zeW50 YXgtZW50cnkgPy8gICAiLiAxMjRiIiB0YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/ XG4gICI+IGIiICAgIHRhYmxlKQorICAgIHRhYmxlKQorICAiU3ludGF4IHRhYmxlIGZvciBgZ28t bW9kLXRzLW1vZGUnLiIpCisKKyhkZWZ2YXIgZ28tbW9kLXRzLW1vZGUtLWluZGVudC1ydWxlcwor ICBgKChnb21vZAorICAgICAoKG5vZGUtaXMgIikiKSBwYXJlbnQtYm9sIDApCisgICAgICgocGFy ZW50LWlzICJyZXF1aXJlX2RpcmVjdGl2ZSIpIHBhcmVudC1ib2wgZ28tdHMtbW9kZS1pbmRlbnQt b2Zmc2V0KQorICAgICAobm8tbm9kZSBwYXJlbnQtYm9sIDApKSkKKyAgIlRyZWUtc2l0dGVyIGlu ZGVudCBydWxlcyBmb3IgYGdvLW1vZC10cy1tb2RlJy4iKQorCisoZGVmdmFyIGdvLW1vZC10cy1t b2RlLS1rZXl3b3JkcworICAnKCJleGNsdWRlIiAiZ28iICJtb2R1bGUiICJyZXBsYWNlIiAicmVx dWlyZSIgInJldHJhY3QiKQorICAiZ28ubW9kIGtleXdvcmRzIGZvciB0cmVlLXNpdHRlciBmb250 LWxvY2tpbmcuIikKKworKGRlZnZhciBnby1tb2QtdHMtbW9kZS0tZm9udC1sb2NrLXNldHRpbmdz CisgICh0cmVlc2l0LWZvbnQtbG9jay1ydWxlcworICAgOmxhbmd1YWdlICdnb21vZAorICAgOmZl YXR1cmUgJ2JyYWNrZXQKKyAgICcoKFsiKCIgIikiXSkgQGZvbnQtbG9jay1icmFja2V0LWZhY2Up CisKKyAgIDpsYW5ndWFnZSAnZ29tb2QKKyAgIDpmZWF0dXJlICdjb21tZW50CisgICAnKChjb21t ZW50KSBAZm9udC1sb2NrLWNvbW1lbnQtZmFjZSkKKworICAgOmxhbmd1YWdlICdnb21vZAorICAg OmZlYXR1cmUgJ2tleXdvcmQKKyAgIGAoWyxAZ28tbW9kLXRzLW1vZGUtLWtleXdvcmRzXSBAZm9u dC1sb2NrLWtleXdvcmQtZmFjZSkKKworICAgOmxhbmd1YWdlICdnb21vZAorICAgOmZlYXR1cmUg J251bWJlcgorICAgJyhbKGdvX3ZlcnNpb24pICh2ZXJzaW9uKV0gQGZvbnQtbG9jay1udW1iZXIt ZmFjZSkKKworICAgOmxhbmd1YWdlICdnb21vZAorICAgOmZlYXR1cmUgJ29wZXJhdG9yCisgICAn KChbIj0+Il0pIEBmb250LWxvY2stb3BlcmF0b3ItZmFjZSkKKworICAgOmxhbmd1YWdlICdnb21v ZAorICAgOmZlYXR1cmUgJ2Vycm9yCisgICA6b3ZlcnJpZGUgdAorICAgJygoRVJST1IpIEBmb250 LWxvY2std2FybmluZy1mYWNlKSkKKyAgIlRyZWUtc2l0dGVyIGZvbnQtbG9jayBzZXR0aW5ncyBm b3IgYGdvLW1vZC10cy1tb2RlJy4iKQorCis7OzsjIyNhdXRvbG9hZAorKGFkZC10by1saXN0ICdh dXRvLW1vZGUtYWxpc3QgJygiZ29cXC5tb2RcXCciIC4gZ28tbW9kLXRzLW1vZGUpKQorCis7Ozsj IyNhdXRvbG9hZAorKGRlZmluZS1kZXJpdmVkLW1vZGUgZ28tbW9kLXRzLW1vZGUgcHJvZy1tb2Rl ICJHbyBNb2QiCisgICJNYWpvciBtb2RlIGZvciBlZGl0aW5nIGdvLm1vZCBmaWxlcywgcG93ZXJl ZCBieSB0cmVlLXNpdHRlci4iCisgIDpncm91cCAnZ28KKyAgOnN5bnRheC10YWJsZSBnby1tb2Qt dHMtbW9kZS0tc3ludGF4LXRhYmxlCisKKyAgKHdoZW4gKHRyZWVzaXQtcmVhZHktcCAnZ29tb2Qp CisgICAgKHRyZWVzaXQtcGFyc2VyLWNyZWF0ZSAnZ29tb2QpCisKKyAgICA7OyBDb21tZW50cy4K KyAgICAoc2V0cS1sb2NhbCBjb21tZW50LXN0YXJ0ICIvLyAiKQorICAgIChzZXRxLWxvY2FsIGNv bW1lbnQtZW5kICIiKQorICAgIChzZXRxLWxvY2FsIGNvbW1lbnQtc3RhcnQtc2tpcCAocnggIi8v IiAoKiAoc3ludGF4IHdoaXRlc3BhY2UpKSkpCisKKyAgICA7OyBJbmRlbnQuCisgICAgKHNldHEt bG9jYWwgaW5kZW50LXRhYnMtbW9kZSB0CisgICAgICAgICAgICAgICAgdHJlZXNpdC1zaW1wbGUt aW5kZW50LXJ1bGVzIGdvLW1vZC10cy1tb2RlLS1pbmRlbnQtcnVsZXMpCisKKyAgICA7OyBGb250 LWxvY2suCisgICAgKHNldHEtbG9jYWwgdHJlZXNpdC1mb250LWxvY2stc2V0dGluZ3MgZ28tbW9k LXRzLW1vZGUtLWZvbnQtbG9jay1zZXR0aW5ncykKKyAgICAoc2V0cS1sb2NhbCB0cmVlc2l0LWZv bnQtbG9jay1mZWF0dXJlLWxpc3QKKyAgICAgICAgICAgICAgICAnKChjb21tZW50KQorICAgICAg ICAgICAgICAgICAgKGtleXdvcmQpCisgICAgICAgICAgICAgICAgICAobnVtYmVyKQorICAgICAg ICAgICAgICAgICAgKGJyYWNrZXQgZXJyb3Igb3BlcmF0b3IpKSkKKworICAgICh0cmVlc2l0LW1h am9yLW1vZGUtc2V0dXApKSkKKworKHByb3ZpZGUgJ2dvLXRzLW1vZGUpCisKKzs7OyBnby10cy1t b2RlLmVsIGVuZHMgaGVyZQotLSAKMi4zOS4wCgo= --b1_HLkbmLkavlLRk0xSmROiqudbwPZSYsNQoiw5G6H1k-- From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 13 07:25:36 2022 Received: (at 60025) by debbugs.gnu.org; 13 Dec 2022 12:25:36 +0000 Received: from localhost ([127.0.0.1]:60024 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p54Ln-0004PZ-Nn for submit@debbugs.gnu.org; Tue, 13 Dec 2022 07:25:36 -0500 Received: from eggs.gnu.org ([209.51.188.92]:45226) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p54Ll-0004PT-KB for 60025@debbugs.gnu.org; Tue, 13 Dec 2022 07:25:34 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p54Lf-0002IY-Qb; Tue, 13 Dec 2022 07:25:27 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=u+YJ6V1dZTHC/vIQbGgteZOra0FZJi1tsRDJ6T2N948=; b=SfV8KVkwDJRK /amz7zNvfy9n1A+BEWPz02FCQXRcijNCLRgK3so/JcbNtQDOU5l8ZgJnm3OSjGirIQFmMvyOoDHLK tRAHha5kYhVTZ34Je9r1UEc8/ithmfOnTocmd4K/qxqN0f2sMU2HV2NZ+RxptFvMYTZ8K6aqpPH5U Szv53ry7GcODBOeGAjx3WXxRHuAyhC5lblmNAelQJUpSecG9XDO/EIWCwlbVdJW7+Iu3Vd5hS8UHZ rQ8pXm4N4WJLwaYv2G4hDimFvnq/XqGqD3WyoHpuCX8VL2ir2bitksZPNJiitVO0DSlTnNfH9JQeF FQLZzZgPwiQeGy2/qBN8jA==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p54LZ-0007xv-FY; Tue, 13 Dec 2022 07:25:27 -0500 Date: Tue, 13 Dec 2022 14:25:19 +0200 Message-Id: <83r0x3pk28.fsf@gnu.org> From: Eli Zaretskii To: Randy Taylor In-Reply-To: (message from Randy Taylor on Tue, 13 Dec 2022 02:13:47 +0000) Subject: Re: bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode References: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 60025 Cc: 60025@debbugs.gnu.org, theo@thornhill.no, casouri@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Cc: casouri@gmail.com, theo@thornhill.no > Date: Tue, 13 Dec 2022 02:13:47 +0000 > From: Randy Taylor > > --- a/etc/NEWS > +++ b/etc/NEWS > @@ -3078,6 +3078,11 @@ A major mode based on the tree-sitter library for editing CMake files. > It includes support for font-locking, indentation, Imenu, and > which-func. > > +** New major modes 'go-ts-mode' and 'go-mod-ts-mode'. > +Major modes based on the tree-sitter library for editing programs in > +the Go language. It includes support for font-locking, indentation, > +Imenu, and which-func. This should say something about go-mod-ts-mode, at least which files it's supposed to support and for what purpose. > +(add-to-list 'auto-mode-alist '("go\\.mod\\'" . go-mod-ts-mode)) Aren't the files's base name always exactly "go.mod" and nothing else? If so, the regexp should be augmented, because we don't want to use this moder for, say, foogo.mod or fubar-go.mod, right? Thanks. From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 13 14:39:34 2022 Received: (at 60025) by debbugs.gnu.org; 13 Dec 2022 19:39:34 +0000 Received: from localhost ([127.0.0.1]:34206 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5B7l-0006aY-0h for submit@debbugs.gnu.org; Tue, 13 Dec 2022 14:39:34 -0500 Received: from mail-4323.proton.ch ([185.70.43.23]:34653) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5B7i-0006aR-JZ for 60025@debbugs.gnu.org; Tue, 13 Dec 2022 14:39:31 -0500 Date: Tue, 13 Dec 2022 19:39:18 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rjt.dev; s=protonmail2; t=1670960363; x=1671219563; bh=tYW6VyjLMcxUudHvN/554VTiG1wyHHqGncQ6d0eshbQ=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=WLTcV7veC+g3t3MTRqlzTVhtJ4qZ4HLrBZxq9ezrbbKJ33Y5zp+Dx1DvUahh6FoU5 IXgLQdb4R1yeGzUIvSiev2PVyUKnPDjZxdnfKRfl4qbtLov2sv3XOrsifzBmiEFlmt HAIiaUlsqrCK4+6vyuUpHnwnUeD0BXJQXlBhclylTJ3JLVfAUPG8NpuwZm0lVyoMjk TjTVuTI0yEJReMUVlqsrsOU/HeI7lYlTd8mYUliHihX06myui2Ma7/mfVG3jAIuMdv LJfaddxHbiE1T0HnjACmR/KDX2DM/M+KzmFF6dKBCBJ+Zz0w72HGPTW4hyBxQidYhv f13tBitZZiUQQ== To: Eli Zaretskii From: Randy Taylor Subject: Re: bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode Message-ID: In-Reply-To: <83r0x3pk28.fsf@gnu.org> References: <83r0x3pk28.fsf@gnu.org> Feedback-ID: 44397038:user:proton MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_WCX41cc5Y9XbrUvjSnXSMBOiiMd0EBzKpHLY9BW90Vo" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 60025 Cc: 60025@debbugs.gnu.org, theo@thornhill.no, casouri@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --b1_WCX41cc5Y9XbrUvjSnXSMBOiiMd0EBzKpHLY9BW90Vo Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On Tuesday, December 13th, 2022 at 07:25, Eli Zaretskii wrot= e:=20 >=20 > > Cc: casouri@gmail.com, theo@thornhill.no >=20 > > Date: Tue, 13 Dec 2022 02:13:47 +0000 > > From: Randy Taylor dev@rjt.dev > >=20 > > --- a/etc/NEWS > > +++ b/etc/NEWS > > @@ -3078,6 +3078,11 @@ A major mode based on the tree-sitter library fo= r editing CMake files. > > It includes support for font-locking, indentation, Imenu, and > > which-func. > >=20 > > +** New major modes 'go-ts-mode' and 'go-mod-ts-mode'. > > +Major modes based on the tree-sitter library for editing programs in > > +the Go language. It includes support for font-locking, indentation, > > +Imenu, and which-func. >=20 >=20 > This should say something about go-mod-ts-mode, at least which files > it's supposed to support and for what purpose. Indeed, thanks. I decided to split them up, and I also added that they will= be auto-enabled. > > +(add-to-list 'auto-mode-alist '("go\\.mod\\'" . go-mod-ts-mode)) >=20 >=20 > Aren't the files's base name always exactly "go.mod" and nothing else? > If so, the regexp should be augmented, because we don't want to use > this moder for, say, foogo.mod or fubar-go.mod, right? Oops, that's right. Good catch. --b1_WCX41cc5Y9XbrUvjSnXSMBOiiMd0EBzKpHLY9BW90Vo Content-Type: text/x-patch; name=0001-Add-go-ts-mode-and-go-mod-ts-mode-Bug-60025.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=0001-Add-go-ts-mode-and-go-mod-ts-mode-Bug-60025.patch RnJvbSA5MzQ4NDM2ZjBmODUxYTlmZGMzYjJkY2E1N2MyMmNjODhkNTVkOGY5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSYW5keSBUYXlsb3IgPGRldkByanQuZGV2PgpEYXRlOiBTdW4s IDExIERlYyAyMDIyIDE4OjQxOjE2IC0wNTAwClN1YmplY3Q6IFtQQVRDSF0gQWRkIGdvLXRzLW1v ZGUgYW5kIGdvLW1vZC10cy1tb2RlIChCdWcjNjAwMjUpCgoqIGFkbWluL25vdGVzL3RyZWUtc2l0 dGVyL2J1aWxkLW1vZHVsZS9iYXRjaC5zaDoKKiBhZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9idWls ZC1tb2R1bGUvYnVpbGQuc2g6IEFkZCBnby1tb2Qgc3VwcG9ydC4KKiBldGMvTkVXUzogTWVudGlv biB0aGVtLgoqIGxpc3AvcHJvZ21vZGVzL2VnbG90LmVsIChlZ2xvdC1zZXJ2ZXItcHJvZ3JhbXMp OiBBZGQgdGhlbS4KKiBsaXNwL3Byb2dtb2Rlcy9nby10cy1tb2RlLmVsOiBOZXcgbWFqb3IgbW9k ZXMgd2l0aAp0cmVlLXNpdHRlciBzdXBwb3J0LgotLS0KIGFkbWluL25vdGVzL3RyZWUtc2l0dGVy L2J1aWxkLW1vZHVsZS9iYXRjaC5zaCB8ICAgMSArCiBhZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9i dWlsZC1tb2R1bGUvYnVpbGQuc2ggfCAgIDUgKwogZXRjL05FV1MgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDExICsKIGxpc3AvcHJvZ21vZGVzL2VnbG90LmVsICAgICAg ICAgICAgICAgICAgICAgICB8ICAgMyArLQogbGlzcC9wcm9nbW9kZXMvZ28tdHMtbW9kZS5lbCAg ICAgICAgICAgICAgICAgIHwgMzMxICsrKysrKysrKysrKysrKysrKwogNSBmaWxlcyBjaGFuZ2Vk LCAzNTAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGxp c3AvcHJvZ21vZGVzL2dvLXRzLW1vZGUuZWwKCmRpZmYgLS1naXQgYS9hZG1pbi9ub3Rlcy90cmVl LXNpdHRlci9idWlsZC1tb2R1bGUvYmF0Y2guc2ggYi9hZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9i dWlsZC1tb2R1bGUvYmF0Y2guc2gKaW5kZXggYzM5NTQ0OTk3Ny4uYzMyMmQ0MDVmMiAxMDA3NTUK LS0tIGEvYWRtaW4vbm90ZXMvdHJlZS1zaXR0ZXIvYnVpbGQtbW9kdWxlL2JhdGNoLnNoCisrKyBi L2FkbWluL25vdGVzL3RyZWUtc2l0dGVyL2J1aWxkLW1vZHVsZS9iYXRjaC5zaApAQCAtOCw2ICs4 LDcgQEAgbGFuZ3VhZ2VzPQogICAgICdjLXNoYXJwJwogICAgICdkb2NrZXJmaWxlJwogICAgICdn bycKKyAgICAnZ28tbW9kJwogICAgICdodG1sJwogICAgICdqYXZhc2NyaXB0JwogICAgICdqc29u JwpkaWZmIC0tZ2l0IGEvYWRtaW4vbm90ZXMvdHJlZS1zaXR0ZXIvYnVpbGQtbW9kdWxlL2J1aWxk LnNoIGIvYWRtaW4vbm90ZXMvdHJlZS1zaXR0ZXIvYnVpbGQtbW9kdWxlL2J1aWxkLnNoCmluZGV4 IGQwMjBlZTkyYzMuLjI3ZGUxN2MzM2UgMTAwNzU1Ci0tLSBhL2FkbWluL25vdGVzL3RyZWUtc2l0 dGVyL2J1aWxkLW1vZHVsZS9idWlsZC5zaAorKysgYi9hZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9i dWlsZC1tb2R1bGUvYnVpbGQuc2gKQEAgLTI2LDYgKzI2LDExIEBAIGdyYW1tYXJkaXI9CiAgICAg ImNtYWtlIikKICAgICAgICAgbmFtZXNwYWNlPSJ1eWhhIgogICAgICAgICA7OworICAgICJnby1t b2QiKQorICAgICAgICAjIFRoZSBwYXJzZXIgaXMgY2FsbGVkICJnb21vZCIuCisgICAgICAgIGxh bmc9ImdvbW9kIgorICAgICAgICBuYW1lc3BhY2U9ImNhbWRlbmNoZWVrIgorICAgICAgICA7Owog ICAgICJ0eXBlc2NyaXB0IikKICAgICAgICAgc291cmNlZGlyPSJ0cmVlLXNpdHRlci10eXBlc2Ny aXB0L3R5cGVzY3JpcHQvc3JjIgogICAgICAgICBncmFtbWFyZGlyPSJ0cmVlLXNpdHRlci10eXBl c2NyaXB0L3R5cGVzY3JpcHQiCmRpZmYgLS1naXQgYS9ldGMvTkVXUyBiL2V0Yy9ORVdTCmluZGV4 IDZjYjUzMWNkMGYuLmMxNGUzMzczNDggMTAwNjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9O RVdTCkBAIC0zMDc4LDYgKzMwNzgsMTcgQEAgQSBtYWpvciBtb2RlIGJhc2VkIG9uIHRoZSB0cmVl LXNpdHRlciBsaWJyYXJ5IGZvciBlZGl0aW5nIENNYWtlIGZpbGVzLgogSXQgaW5jbHVkZXMgc3Vw cG9ydCBmb3IgZm9udC1sb2NraW5nLCBpbmRlbnRhdGlvbiwgSW1lbnUsIGFuZAogd2hpY2gtZnVu Yy4KIAorKiogTmV3IG1ham9yIG1vZGUgJ2dvLXRzLW1vZGUnLgorQSBtYWpvciBtb2RlIGJhc2Vk IG9uIHRoZSB0cmVlLXNpdHRlciBsaWJyYXJ5IGZvciBlZGl0aW5nIHByb2dyYW1zIGluCit0aGUg R28gbGFuZ3VhZ2UuICBJdCBpbmNsdWRlcyBzdXBwb3J0IGZvciBmb250LWxvY2tpbmcsIGluZGVu dGF0aW9uLAorSW1lbnUsIGFuZCB3aGljaC1mdW5jLiAgVGhpcyBtb2RlIHdpbGwgYmUgYXV0by1l bmFibGVkIGZvciBmaWxlcyB3aXRoCit0aGUgIi5nbyIgZXh0ZW5zaW9uLgorCisqKiBOZXcgbWFq b3IgbW9kZSAnZ28tbW9kLXRzLW1vZGUnLgorQSBtYWpvciBtb2RlIGJhc2VkIG9uIHRoZSB0cmVl LXNpdHRlciBsaWJyYXJ5IGZvciBlZGl0aW5nIGdvLm1vZAorZmlsZXMuICBJdCBpbmNsdWRlcyBz dXBwb3J0IGZvciBmb250LWxvY2tpbmcgYW5kIGluZGVudGF0aW9uLiAgVGhpcworbW9kZSB3aWxs IGJlIGF1dG8tZW5hYmxlZCBmb3IgZ28ubW9kIGZpbGVzLgorCiAMCiAqIEluY29tcGF0aWJsZSBM aXNwIENoYW5nZXMgaW4gRW1hY3MgMjkuMQogCmRpZmYgLS1naXQgYS9saXNwL3Byb2dtb2Rlcy9l Z2xvdC5lbCBiL2xpc3AvcHJvZ21vZGVzL2VnbG90LmVsCmluZGV4IDljNWEzNjFkZjcuLjAyYmI2 YmI2NjUgMTAwNjQ0Ci0tLSBhL2xpc3AvcHJvZ21vZGVzL2VnbG90LmVsCisrKyBiL2xpc3AvcHJv Z21vZGVzL2VnbG90LmVsCkBAIC0yMTEsNyArMjExLDggQEAgZWdsb3Qtc2VydmVyLXByb2dyYW1z CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlbG0tbW9kZSAuICgiZWxtLWxhbmd1 YWdlLXNlcnZlciIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWludC1tb2Rl IC4gKCJtaW50IiAibHMiKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtvdGxp bi1tb2RlIC4gKCJrb3RsaW4tbGFuZ3VhZ2Utc2VydmVyIikpCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICgoZ28tbW9kZSBnby1kb3QtbW9kLW1vZGUgZ28tZG90LXdvcmstbW9kZSkg LiAoImdvcGxzIikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoZ28tbW9kZSBn by1kb3QtbW9kLW1vZGUgZ28tZG90LXdvcmstbW9kZSBnby10cy1tb2RlIGdvLW1vZC10cy1tb2Rl KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLiAoImdvcGxzIikpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICgoUi1tb2RlIGVzcy1yLW1vZGUpIC4gKCJSIiAiLS1z bGF2ZSIgIi1lIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAibGFuZ3VhZ2VzZXJ2ZXI6OnJ1bigpIikpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICgoamF2YS1tb2RlIGphdmEtdHMtbW9kZSkgLiAoImpkdGxzIikpCmRpZmYg LS1naXQgYS9saXNwL3Byb2dtb2Rlcy9nby10cy1tb2RlLmVsIGIvbGlzcC9wcm9nbW9kZXMvZ28t dHMtbW9kZS5lbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi5iODZhYjdh Yjg1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlzcC9wcm9nbW9kZXMvZ28tdHMtbW9kZS5lbApAQCAt MCwwICsxLDMzMSBAQAorOzs7IGdvLXRzLW1vZGUuZWwgLS0tIHRyZWUtc2l0dGVyIHN1cHBvcnQg Zm9yIEdvICAtKi0gbGV4aWNhbC1iaW5kaW5nOiB0OyAtKi0KKworOzsgQ29weXJpZ2h0IChDKSAy MDIyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCis7OyBBdXRob3IgICAgIDogUmFu ZHkgVGF5bG9yIDxkZXZAcmp0LmRldj4KKzs7IE1haW50YWluZXIgOiBSYW5keSBUYXlsb3IgPGRl dkByanQuZGV2PgorOzsgQ3JlYXRlZCAgICA6IERlY2VtYmVyIDIwMjIKKzs7IEtleXdvcmRzICAg OiBnbyBsYW5ndWFnZXMgdHJlZS1zaXR0ZXIKKworOzsgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05V IEVtYWNzLgorCis7OyBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorOzsgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKzs7IHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCis7OyAo YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCis7OyBHTlUgRW1hY3MgaXMgZGlz dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKzs7IGJ1dCBXSVRI T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCis7 OyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT ZWUgdGhlCis7OyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor Cis7OyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZQorOzsgYWxvbmcgd2l0aCBHTlUgRW1hY3MuICBJZiBub3QsIHNlZSA8aHR0 cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCis7OzsgQ29tbWVudGFyeToKKzs7CisKKzs7 OyBDb2RlOgorCisocmVxdWlyZSAndHJlZXNpdCkKKyhldmFsLXdoZW4tY29tcGlsZSAocmVxdWly ZSAncngpKQorCisoZGVjbGFyZS1mdW5jdGlvbiB0cmVlc2l0LXBhcnNlci1jcmVhdGUgInRyZWVz aXQuYyIpCisoZGVjbGFyZS1mdW5jdGlvbiB0cmVlc2l0LWluZHVjZS1zcGFyc2UtdHJlZSAidHJl ZXNpdC5jIikKKyhkZWNsYXJlLWZ1bmN0aW9uIHRyZWVzaXQtbm9kZS1jaGlsZCAidHJlZXNpdC5j IikKKyhkZWNsYXJlLWZ1bmN0aW9uIHRyZWVzaXQtbm9kZS1jaGlsZC1ieS1maWVsZC1uYW1lICJ0 cmVlc2l0LmMiKQorKGRlY2xhcmUtZnVuY3Rpb24gdHJlZXNpdC1ub2RlLXN0YXJ0ICJ0cmVlc2l0 LmMiKQorKGRlY2xhcmUtZnVuY3Rpb24gdHJlZXNpdC1ub2RlLXR5cGUgInRyZWVzaXQuYyIpCisK KyhkZWZjdXN0b20gZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0IDQKKyAgIk51bWJlciBvZiBzcGFj ZXMgZm9yIGVhY2ggaW5kZW50YXRpb24gc3RlcCBpbiBgZ28tdHMtbW9kZScuIgorICA6dmVyc2lv biAiMjkuMSIKKyAgOnR5cGUgJ2ludGVnZXIKKyAgOnNhZmUgJ2ludGVnZXJwCisgIDpncm91cCAn Z28pCisKKyhkZWZ2YXIgZ28tdHMtbW9kZS0tc3ludGF4LXRhYmxlCisgIChsZXQgKCh0YWJsZSAo bWFrZS1zeW50YXgtdGFibGUpKSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/KyAgICIuIiAg ICAgIHRhYmxlKQorICAgIChtb2RpZnktc3ludGF4LWVudHJ5ID8tICAgIi4iICAgICAgdGFibGUp CisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgPz0gICAiLiIgICAgICB0YWJsZSkKKyAgICAobW9k aWZ5LXN5bnRheC1lbnRyeSA/JSAgICIuIiAgICAgIHRhYmxlKQorICAgIChtb2RpZnktc3ludGF4 LWVudHJ5ID8mICAgIi4iICAgICAgdGFibGUpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgP3wg ICAiLiIgICAgICB0YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/XiAgICIuIiAgICAg IHRhYmxlKQorICAgIChtb2RpZnktc3ludGF4LWVudHJ5ID8hICAgIi4iICAgICAgdGFibGUpCisg ICAgKG1vZGlmeS1zeW50YXgtZW50cnkgPzwgICAiLiIgICAgICB0YWJsZSkKKyAgICAobW9kaWZ5 LXN5bnRheC1lbnRyeSA/PiAgICIuIiAgICAgIHRhYmxlKQorICAgIChtb2RpZnktc3ludGF4LWVu dHJ5ID9cXCAgIlxcIiAgICAgdGFibGUpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgPy8gICAi LiAxMjRiIiB0YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/KiAgICIuIDIzIiAgIHRh YmxlKQorICAgIChtb2RpZnktc3ludGF4LWVudHJ5ID9cbiAgIj4gYiIgICAgdGFibGUpCisgICAg dGFibGUpCisgICJTeW50YXggdGFibGUgZm9yIGBnby10cy1tb2RlJy4iKQorCisoZGVmdmFyIGdv LXRzLW1vZGUtLWluZGVudC1ydWxlcworICBgKChnbworICAgICAoKG5vZGUtaXMgIikiKSBwYXJl bnQtYm9sIDApCisgICAgICgobm9kZS1pcyAiXSIpIHBhcmVudC1ib2wgMCkKKyAgICAgKChub2Rl LWlzICJ9IikgcGFyZW50LWJvbCAwKQorICAgICAoKG5vZGUtaXMgImxhYmVsZWRfc3RhdGVtZW50 Iikgbm8taW5kZW50KQorICAgICAoKHBhcmVudC1pcyAiYXJndW1lbnRfbGlzdCIpIHBhcmVudC1i b2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAiYmxvY2siKSBw YXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChwYXJlbnQtaXMgImNv bnN0X2RlY2xhcmF0aW9uIikgcGFyZW50LWJvbCBnby10cy1tb2RlLWluZGVudC1vZmZzZXQpCisg ICAgICgocGFyZW50LWlzICJkZWZhdWx0X2Nhc2UiKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5k ZW50LW9mZnNldCkKKyAgICAgKChwYXJlbnQtaXMgImV4cHJlc3Npb25fY2FzZSIpIHBhcmVudC1i b2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAiZXhwcmVzc2lv bl9zd2l0Y2hfc3RhdGVtZW50IikgcGFyZW50LWJvbCAwKQorICAgICAoKHBhcmVudC1pcyAiZmll bGRfZGVjbGFyYXRpb25fbGlzdCIpIHBhcmVudC1ib2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0 KQorICAgICAoKHBhcmVudC1pcyAiaW1wb3J0X3NwZWNfbGlzdCIpIHBhcmVudC1ib2wgZ28tdHMt bW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAibGFiZWxlZF9zdGF0ZW1lbnQi KSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChwYXJlbnQtaXMg ImxpdGVyYWxfdmFsdWUiKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAg ICAgKChwYXJlbnQtaXMgInR5cGVfc3BlYyIpIHBhcmVudC1ib2wgZ28tdHMtbW9kZS1pbmRlbnQt b2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAidmFyX2RlY2xhcmF0aW9uIikgcGFyZW50LWJvbCBn by10cy1tb2RlLWluZGVudC1vZmZzZXQpCisgICAgIChuby1ub2RlIHBhcmVudC1ib2wgMCkpKQor ICAiVHJlZS1zaXR0ZXIgaW5kZW50IHJ1bGVzIGZvciBgZ28tdHMtbW9kZScuIikKKworKGRlZnZh ciBnby10cy1tb2RlLS1rZXl3b3JkcworICAnKCJicmVhayIgImNhc2UiICJjaGFuIiAiY29uc3Qi ICJjb250aW51ZSIgImRlZmF1bHQiICJkZWZlciIgImVsc2UiCisgICAgImZhbGx0aHJvdWdoIiAi Zm9yIiAiZnVuYyIgImdvIiAiZ290byIgImlmIiAiaW1wb3J0IiAiaW50ZXJmYWNlIiAibWFwIgor ICAgICJwYWNrYWdlIiAicmFuZ2UiICJyZXR1cm4iICJzZWxlY3QiICJzdHJ1Y3QiICJzd2l0Y2gi ICJ0eXBlIiAidmFyIikKKyAgIkdvIGtleXdvcmRzIGZvciB0cmVlLXNpdHRlciBmb250LWxvY2tp bmcuIikKKworKGRlZnZhciBnby10cy1tb2RlLS1vcGVyYXRvcnMKKyAgJygiKyIgIiYiICIrPSIg IiY9IiAiJiYiICI9PSIgIiE9IiAiLSIgInwiICItPSIgInw9IiAifHwiICI8IiAiPD0iCisgICAg IioiICJeIiAiKj0iICJePSIgIjwtIiAiPiIgIj49IiAiLyIgIjw8IiAiLz0iICI8PD0iICIrKyIg Ij0iICI6PSIgIiUiCisgICAgIj4+IiAiJT0iICI+Pj0iICItLSIgIiEiICAiLi4uIiAgIiZeIiAi Jl49IiAifiIpCisgICJHbyBvcGVyYXRvcnMgZm9yIHRyZWUtc2l0dGVyIGZvbnQtbG9ja2luZy4i KQorCisoZGVmdmFyIGdvLXRzLW1vZGUtLWZvbnQtbG9jay1zZXR0aW5ncworICAodHJlZXNpdC1m b250LWxvY2stcnVsZXMKKyAgIDpsYW5ndWFnZSAnZ28KKyAgIDpmZWF0dXJlICdicmFja2V0Cisg ICAnKChbIigiICIpIiAiWyIgIl0iICJ7IiAifSJdKSBAZm9udC1sb2NrLWJyYWNrZXQtZmFjZSkK KworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUgJ2NvbW1lbnQKKyAgICcoKGNvbW1lbnQp IEBmb250LWxvY2stY29tbWVudC1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVy ZSAnY29uc3RhbnQKKyAgICcoWyhmYWxzZSkgKGlvdGEpIChuaWwpICh0cnVlKV0gQGZvbnQtbG9j ay1jb25zdGFudC1mYWNlCisgICAgIChjb25zdF9kZWNsYXJhdGlvbgorICAgICAgKGNvbnN0X3Nw ZWMgbmFtZTogKGlkZW50aWZpZXIpIEBmb250LWxvY2stY29uc3RhbnQtZmFjZSkpKQorCisgICA6 bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAnZGVsaW1pdGVyCisgICAnKChbIiwiICIuIiAiOyIg IjoiXSkgQGZvbnQtbG9jay1kZWxpbWl0ZXItZmFjZSkKKworICAgOmxhbmd1YWdlICdnbworICAg OmZlYXR1cmUgJ2Z1bmN0aW9uCisgICAnKChjYWxsX2V4cHJlc3Npb24KKyAgICAgIGZ1bmN0aW9u OiAoaWRlbnRpZmllcikgQGZvbnQtbG9jay1mdW5jdGlvbi1uYW1lLWZhY2UpCisgICAgIChjYWxs X2V4cHJlc3Npb24KKyAgICAgIGZ1bmN0aW9uOiAoc2VsZWN0b3JfZXhwcmVzc2lvbgorICAgICAg ICAgICAgICAgICBmaWVsZDogKGZpZWxkX2lkZW50aWZpZXIpIEBmb250LWxvY2stZnVuY3Rpb24t bmFtZS1mYWNlKSkKKyAgICAgKGZ1bmN0aW9uX2RlY2xhcmF0aW9uCisgICAgICBuYW1lOiAoaWRl bnRpZmllcikgQGZvbnQtbG9jay1mdW5jdGlvbi1uYW1lLWZhY2UpCisgICAgIChtZXRob2RfZGVj bGFyYXRpb24KKyAgICAgIG5hbWU6IChmaWVsZF9pZGVudGlmaWVyKSBAZm9udC1sb2NrLWZ1bmN0 aW9uLW5hbWUtZmFjZSkpCisKKyAgIDpsYW5ndWFnZSAnZ28KKyAgIDpmZWF0dXJlICdrZXl3b3Jk CisgICBgKFssQGdvLXRzLW1vZGUtLWtleXdvcmRzXSBAZm9udC1sb2NrLWtleXdvcmQtZmFjZSkK KworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUgJ2xhYmVsCisgICAnKChsYWJlbF9uYW1l KSBAZm9udC1sb2NrLWNvbnN0YW50LWZhY2UpCisKKyAgIDpsYW5ndWFnZSAnZ28KKyAgIDpmZWF0 dXJlICdudW1iZXIKKyAgICcoWyhmbG9hdF9saXRlcmFsKQorICAgICAgKGltYWdpbmFyeV9saXRl cmFsKQorICAgICAgKGludF9saXRlcmFsKV0gQGZvbnQtbG9jay1udW1iZXItZmFjZSkKKworICAg Omxhbmd1YWdlICdnbworICAgOmZlYXR1cmUgJ3N0cmluZworICAgJyhbKGludGVycHJldGVkX3N0 cmluZ19saXRlcmFsKQorICAgICAgKHJhd19zdHJpbmdfbGl0ZXJhbCkKKyAgICAgIChydW5lX2xp dGVyYWwpXSBAZm9udC1sb2NrLXN0cmluZy1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6 ZmVhdHVyZSAndHlwZQorICAgJyhbKHBhY2thZ2VfaWRlbnRpZmllcikgKHR5cGVfaWRlbnRpZmll cildIEBmb250LWxvY2stdHlwZS1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVy ZSAndmFyaWFibGUKKyAgICcoKGlkZW50aWZpZXIpIEBmb250LWxvY2stdmFyaWFibGUtbmFtZS1m YWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAnZXNjYXBlLXNlcXVlbmNlCisg ICA6b3ZlcnJpZGUgdAorICAgJygoZXNjYXBlX3NlcXVlbmNlKSBAZm9udC1sb2NrLWVzY2FwZS1m YWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAncHJvcGVydHkKKyAgIDpvdmVy cmlkZSB0CisgICAnKChmaWVsZF9pZGVudGlmaWVyKSBAZm9udC1sb2NrLXByb3BlcnR5LWZhY2UK KyAgICAgKGtleWVkX2VsZW1lbnQgKF8gKGlkZW50aWZpZXIpIEBmb250LWxvY2stcHJvcGVydHkt ZmFjZSkpKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAnZXJyb3IKKyAgIDpvdmVy cmlkZSB0CisgICAnKChFUlJPUikgQGZvbnQtbG9jay13YXJuaW5nLWZhY2UpKQorICAiVHJlZS1z aXR0ZXIgZm9udC1sb2NrIHNldHRpbmdzIGZvciBgZ28tdHMtbW9kZScuIikKKworKGRlZnVuIGdv LXRzLW1vZGUtLWltZW51ICgpCisgICJSZXR1cm4gSW1lbnUgYWxpc3QgZm9yIHRoZSBjdXJyZW50 IGJ1ZmZlci4iCisgIChsZXQqICgobm9kZSAodHJlZXNpdC1idWZmZXItcm9vdC1ub2RlKSkKKyAg ICAgICAgIChmdW5jLXRyZWUgKHRyZWVzaXQtaW5kdWNlLXNwYXJzZS10cmVlCisgICAgICAgICAg ICAgICAgICAgICBub2RlICJmdW5jdGlvbl9kZWNsYXJhdGlvbiIgbmlsIDEwMDApKQorICAgICAg ICAgKHR5cGUtdHJlZSAodHJlZXNpdC1pbmR1Y2Utc3BhcnNlLXRyZWUKKyAgICAgICAgICAgICAg ICAgICAgIG5vZGUgInR5cGVfc3BlYyIgbmlsIDEwMDApKQorICAgICAgICAgKGZ1bmMtaW5kZXgg KGdvLXRzLW1vZGUtLWltZW51LTEgZnVuYy10cmVlKSkKKyAgICAgICAgICh0eXBlLWluZGV4IChn by10cy1tb2RlLS1pbWVudS0xIHR5cGUtdHJlZSkpKQorICAgIChhcHBlbmQKKyAgICAgKHdoZW4g ZnVuYy1pbmRleCBgKCgiRnVuY3Rpb24iIC4gLGZ1bmMtaW5kZXgpKSkKKyAgICAgKHdoZW4gdHlw ZS1pbmRleCBgKCgiVHlwZSIgLiAsdHlwZS1pbmRleCkpKSkpKQorCisoZGVmdW4gZ28tdHMtbW9k ZS0taW1lbnUtMSAobm9kZSkKKyAgIkhlbHBlciBmb3IgYGdvLXRzLW1vZGUtLWltZW51Jy4KK0Zp bmQgc3RyaW5nIHJlcHJlc2VudGF0aW9uIGZvciBOT0RFIGFuZCBzZXQgbWFya2VyLCB0aGVuIHJl Y3Vyc2UKK3RoZSBzdWJ0cmVlcy4iCisgIChsZXQqICgodHMtbm9kZSAoY2FyIG5vZGUpKQorICAg ICAgICAgKGNoaWxkcmVuIChjZHIgbm9kZSkpCisgICAgICAgICAoc3VidHJlZXMgKG1hcGNhbiAj J2dvLXRzLW1vZGUtLWltZW51LTEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVu KSkKKyAgICAgICAgIChuYW1lICh3aGVuIHRzLW5vZGUKKyAgICAgICAgICAgICAgICAgKHRyZWVz aXQtbm9kZS10ZXh0CisgICAgICAgICAgICAgICAgICAocGNhc2UgKHRyZWVzaXQtbm9kZS10eXBl IHRzLW5vZGUpCisgICAgICAgICAgICAgICAgICAgICgiZnVuY3Rpb25fZGVjbGFyYXRpb24iCisg ICAgICAgICAgICAgICAgICAgICAodHJlZXNpdC1ub2RlLWNoaWxkLWJ5LWZpZWxkLW5hbWUgdHMt bm9kZSAibmFtZSIpKQorICAgICAgICAgICAgICAgICAgICAoInR5cGVfc3BlYyIKKyAgICAgICAg ICAgICAgICAgICAgICh0cmVlc2l0LW5vZGUtY2hpbGQtYnktZmllbGQtbmFtZSB0cy1ub2RlICJu YW1lIikpKSkpKQorICAgICAgICAgKG1hcmtlciAod2hlbiB0cy1ub2RlCisgICAgICAgICAgICAg ICAgICAgKHNldC1tYXJrZXIgKG1ha2UtbWFya2VyKQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICh0cmVlc2l0LW5vZGUtc3RhcnQgdHMtbm9kZSkpKSkpCisgICAgKGNvbmQKKyAgICAg KChvciAobnVsbCB0cy1ub2RlKSAobnVsbCBuYW1lKSkgc3VidHJlZXMpCisgICAgIChzdWJ0cmVl cworICAgICAgYCgoLG5hbWUgLChjb25zIG5hbWUgbWFya2VyKSAsQHN1YnRyZWVzKSkpCisgICAg ICh0CisgICAgICBgKCgsbmFtZSAuICxtYXJrZXIpKSkpKSkKKworOzs7IyMjYXV0b2xvYWQKKyhh ZGQtdG8tbGlzdCAnYXV0by1tb2RlLWFsaXN0ICcoIlxcLmdvXFwnIiAuIGdvLXRzLW1vZGUpKQor Cis7OzsjIyNhdXRvbG9hZAorKGRlZmluZS1kZXJpdmVkLW1vZGUgZ28tdHMtbW9kZSBwcm9nLW1v ZGUgIkdvIgorICAiTWFqb3IgbW9kZSBmb3IgZWRpdGluZyBHbywgcG93ZXJlZCBieSB0cmVlLXNp dHRlci4iCisgIDpncm91cCAnZ28KKyAgOnN5bnRheC10YWJsZSBnby10cy1tb2RlLS1zeW50YXgt dGFibGUKKworICAod2hlbiAodHJlZXNpdC1yZWFkeS1wICdnbykKKyAgICAodHJlZXNpdC1wYXJz ZXItY3JlYXRlICdnbykKKworICAgIDs7IENvbW1lbnRzLgorICAgIChzZXRxLWxvY2FsIGNvbW1l bnQtc3RhcnQgIi8vICIpCisgICAgKHNldHEtbG9jYWwgY29tbWVudC1lbmQgIiIpCisgICAgKHNl dHEtbG9jYWwgY29tbWVudC1zdGFydC1za2lwIChyeCAiLy8iICgqIChzeW50YXggd2hpdGVzcGFj ZSkpKSkKKworICAgIDs7IEltZW51LgorICAgIChzZXRxLWxvY2FsIGltZW51LWNyZWF0ZS1pbmRl eC1mdW5jdGlvbiAjJ2dvLXRzLW1vZGUtLWltZW51KQorICAgIChzZXRxLWxvY2FsIHdoaWNoLWZ1 bmMtZnVuY3Rpb25zIG5pbCkKKworICAgIDs7IEluZGVudC4KKyAgICAoc2V0cS1sb2NhbCBpbmRl bnQtdGFicy1tb2RlIHQKKyAgICAgICAgICAgICAgICB0cmVlc2l0LXNpbXBsZS1pbmRlbnQtcnVs ZXMgZ28tdHMtbW9kZS0taW5kZW50LXJ1bGVzKQorCisgICAgOzsgRm9udC1sb2NrLgorICAgIChz ZXRxLWxvY2FsIHRyZWVzaXQtZm9udC1sb2NrLXNldHRpbmdzIGdvLXRzLW1vZGUtLWZvbnQtbG9j ay1zZXR0aW5ncykKKyAgICAoc2V0cS1sb2NhbCB0cmVlc2l0LWZvbnQtbG9jay1mZWF0dXJlLWxp c3QKKyAgICAgICAgICAgICAgICAnKCggY29tbWVudCkKKyAgICAgICAgICAgICAgICAgICgga2V5 d29yZCBzdHJpbmcgdHlwZSkKKyAgICAgICAgICAgICAgICAgICggY29uc3RhbnQgZXNjYXBlLXNl cXVlbmNlIGZ1bmN0aW9uIGxhYmVsIG51bWJlcgorICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0 eSB2YXJpYWJsZSkKKyAgICAgICAgICAgICAgICAgICggYnJhY2tldCBkZWxpbWl0ZXIgZXJyb3Ig b3BlcmF0b3IpKSkKKworICAgICh0cmVlc2l0LW1ham9yLW1vZGUtc2V0dXApKSkKKworOzsgZ28u bW9kIHN1cHBvcnQuCisKKyhkZWZ2YXIgZ28tbW9kLXRzLW1vZGUtLXN5bnRheC10YWJsZQorICAo bGV0ICgodGFibGUgKG1ha2Utc3ludGF4LXRhYmxlKSkpCisgICAgKG1vZGlmeS1zeW50YXgtZW50 cnkgPy8gICAiLiAxMjRiIiB0YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/XG4gICI+ IGIiICAgIHRhYmxlKQorICAgIHRhYmxlKQorICAiU3ludGF4IHRhYmxlIGZvciBgZ28tbW9kLXRz LW1vZGUnLiIpCisKKyhkZWZ2YXIgZ28tbW9kLXRzLW1vZGUtLWluZGVudC1ydWxlcworICBgKChn b21vZAorICAgICAoKG5vZGUtaXMgIikiKSBwYXJlbnQtYm9sIDApCisgICAgICgocGFyZW50LWlz ICJyZXF1aXJlX2RpcmVjdGl2ZSIpIHBhcmVudC1ib2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0 KQorICAgICAobm8tbm9kZSBwYXJlbnQtYm9sIDApKSkKKyAgIlRyZWUtc2l0dGVyIGluZGVudCBy dWxlcyBmb3IgYGdvLW1vZC10cy1tb2RlJy4iKQorCisoZGVmdmFyIGdvLW1vZC10cy1tb2RlLS1r ZXl3b3JkcworICAnKCJleGNsdWRlIiAiZ28iICJtb2R1bGUiICJyZXBsYWNlIiAicmVxdWlyZSIg InJldHJhY3QiKQorICAiZ28ubW9kIGtleXdvcmRzIGZvciB0cmVlLXNpdHRlciBmb250LWxvY2tp bmcuIikKKworKGRlZnZhciBnby1tb2QtdHMtbW9kZS0tZm9udC1sb2NrLXNldHRpbmdzCisgICh0 cmVlc2l0LWZvbnQtbG9jay1ydWxlcworICAgOmxhbmd1YWdlICdnb21vZAorICAgOmZlYXR1cmUg J2JyYWNrZXQKKyAgICcoKFsiKCIgIikiXSkgQGZvbnQtbG9jay1icmFja2V0LWZhY2UpCisKKyAg IDpsYW5ndWFnZSAnZ29tb2QKKyAgIDpmZWF0dXJlICdjb21tZW50CisgICAnKChjb21tZW50KSBA Zm9udC1sb2NrLWNvbW1lbnQtZmFjZSkKKworICAgOmxhbmd1YWdlICdnb21vZAorICAgOmZlYXR1 cmUgJ2tleXdvcmQKKyAgIGAoWyxAZ28tbW9kLXRzLW1vZGUtLWtleXdvcmRzXSBAZm9udC1sb2Nr LWtleXdvcmQtZmFjZSkKKworICAgOmxhbmd1YWdlICdnb21vZAorICAgOmZlYXR1cmUgJ251bWJl cgorICAgJyhbKGdvX3ZlcnNpb24pICh2ZXJzaW9uKV0gQGZvbnQtbG9jay1udW1iZXItZmFjZSkK KworICAgOmxhbmd1YWdlICdnb21vZAorICAgOmZlYXR1cmUgJ29wZXJhdG9yCisgICAnKChbIj0+ Il0pIEBmb250LWxvY2stb3BlcmF0b3ItZmFjZSkKKworICAgOmxhbmd1YWdlICdnb21vZAorICAg OmZlYXR1cmUgJ2Vycm9yCisgICA6b3ZlcnJpZGUgdAorICAgJygoRVJST1IpIEBmb250LWxvY2st d2FybmluZy1mYWNlKSkKKyAgIlRyZWUtc2l0dGVyIGZvbnQtbG9jayBzZXR0aW5ncyBmb3IgYGdv LW1vZC10cy1tb2RlJy4iKQorCis7OzsjIyNhdXRvbG9hZAorKGFkZC10by1saXN0ICdhdXRvLW1v ZGUtYWxpc3QgJygiL2dvXFwubW9kXFwnIiAuIGdvLW1vZC10cy1tb2RlKSkKKworOzs7IyMjYXV0 b2xvYWQKKyhkZWZpbmUtZGVyaXZlZC1tb2RlIGdvLW1vZC10cy1tb2RlIHByb2ctbW9kZSAiR28g TW9kIgorICAiTWFqb3IgbW9kZSBmb3IgZWRpdGluZyBnby5tb2QgZmlsZXMsIHBvd2VyZWQgYnkg dHJlZS1zaXR0ZXIuIgorICA6Z3JvdXAgJ2dvCisgIDpzeW50YXgtdGFibGUgZ28tbW9kLXRzLW1v ZGUtLXN5bnRheC10YWJsZQorCisgICh3aGVuICh0cmVlc2l0LXJlYWR5LXAgJ2dvbW9kKQorICAg ICh0cmVlc2l0LXBhcnNlci1jcmVhdGUgJ2dvbW9kKQorCisgICAgOzsgQ29tbWVudHMuCisgICAg KHNldHEtbG9jYWwgY29tbWVudC1zdGFydCAiLy8gIikKKyAgICAoc2V0cS1sb2NhbCBjb21tZW50 LWVuZCAiIikKKyAgICAoc2V0cS1sb2NhbCBjb21tZW50LXN0YXJ0LXNraXAgKHJ4ICIvLyIgKCog KHN5bnRheCB3aGl0ZXNwYWNlKSkpKQorCisgICAgOzsgSW5kZW50LgorICAgIChzZXRxLWxvY2Fs IGluZGVudC10YWJzLW1vZGUgdAorICAgICAgICAgICAgICAgIHRyZWVzaXQtc2ltcGxlLWluZGVu dC1ydWxlcyBnby1tb2QtdHMtbW9kZS0taW5kZW50LXJ1bGVzKQorCisgICAgOzsgRm9udC1sb2Nr LgorICAgIChzZXRxLWxvY2FsIHRyZWVzaXQtZm9udC1sb2NrLXNldHRpbmdzIGdvLW1vZC10cy1t b2RlLS1mb250LWxvY2stc2V0dGluZ3MpCisgICAgKHNldHEtbG9jYWwgdHJlZXNpdC1mb250LWxv Y2stZmVhdHVyZS1saXN0CisgICAgICAgICAgICAgICAgJygoY29tbWVudCkKKyAgICAgICAgICAg ICAgICAgIChrZXl3b3JkKQorICAgICAgICAgICAgICAgICAgKG51bWJlcikKKyAgICAgICAgICAg ICAgICAgIChicmFja2V0IGVycm9yIG9wZXJhdG9yKSkpCisKKyAgICAodHJlZXNpdC1tYWpvci1t b2RlLXNldHVwKSkpCisKKyhwcm92aWRlICdnby10cy1tb2RlKQorCis7OzsgZ28tdHMtbW9kZS5l bCBlbmRzIGhlcmUKLS0gCjIuMzkuMAoK --b1_WCX41cc5Y9XbrUvjSnXSMBOiiMd0EBzKpHLY9BW90Vo-- From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 13 21:22:20 2022 Received: (at 60025) by debbugs.gnu.org; 14 Dec 2022 02:22:20 +0000 Received: from localhost ([127.0.0.1]:36027 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5HPY-0000Ps-0H for submit@debbugs.gnu.org; Tue, 13 Dec 2022 21:22:20 -0500 Received: from mail-pg1-f170.google.com ([209.85.215.170]:42750) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5HPW-0000Pf-P0 for 60025@debbugs.gnu.org; Tue, 13 Dec 2022 21:22:19 -0500 Received: by mail-pg1-f170.google.com with SMTP id h33so1087959pgm.9 for <60025@debbugs.gnu.org>; Tue, 13 Dec 2022 18:22:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:cc:date:message-id:subject:mime-version :content-transfer-encoding:from:from:to:cc:subject:date:message-id :reply-to; bh=kMIocUv8o8OVgHNKnHhBSvlWPOwhILlN3LZvnoCQ45Y=; b=oVrVD9kmhx5aEFH3onwrD7b3zJ0KA44vIva2TUxkJNjgZfpydgmUAs1hCBAAFo4TG0 wVpPe9qWgpeYwSyUee9Nu2ZAl3uLMuGH/ke8S3Q2+DikU57NVcRKF1eRMvJBHofPuseQ yx1TCZBK3oL12n0qvJjyhyOvaTNlq5oH/7YxeUO/dh3/hRVvjWRkgBBy6cmSaqco6By9 z26+JN+H3jXIDL3JerN311E66Ek2KJUx5PBTbjI+L08dSN0p3tBmcmZ7ccvu40x+/JDD XlprvL2D/ubzitmfOifJl+YoYMigZ9EWpLF4qgFtrU9mo7V0LhIQ10lOa7ISBy6CYtNn wf6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:cc:date:message-id:subject:mime-version :content-transfer-encoding:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kMIocUv8o8OVgHNKnHhBSvlWPOwhILlN3LZvnoCQ45Y=; b=vQAb/NArUTFzVt0Aq56A4BlwJOSo+1AEEOLtGZPP5C3EMhynMNqKATNfvZGgsaW59K zHjDP4vsmC1Wk4pQjHpRkBdIp4ougnSu12P3bcUwi9rGYyUoGSB2zlCkQmTagpy76VLy o4LDvW2P9Rh4M11vizr4KPLBawD8TtZVxwA+7Do+6ZeLbA3opX+J+QoGPZBktYopH3bu JcaEeqyraiyy+v4lCw/PzrSfdGRGz0lpWC5riABl1CLFsfWWm7grcLaOqjOj+1mS7bML +0BdU5v2xtvwSO7a+1mb9rq4OonQcmahdk8p6lz3BZ4s03sG14rhHf5cR1CJ28jr8/tp gHtA== X-Gm-Message-State: ANoB5pnqRL+v9+S6i2TX4I67ZMroc47Jgs2EV4Fw1yTZ6lqYlUU7AVVM CQZb4tj584KDS0AVHg40kro= X-Google-Smtp-Source: AA0mqf45fJ2xuP59TMzP2Xw/rwCjqYjNM+t6cear8hsOt4s6leJC3RZ290HlqiCHA+FOQxF/AFynaA== X-Received: by 2002:a62:e519:0:b0:575:bf29:d1e0 with SMTP id n25-20020a62e519000000b00575bf29d1e0mr25023177pff.26.1670984532915; Tue, 13 Dec 2022 18:22:12 -0800 (PST) Received: from smtpclient.apple (cpe-172-117-161-177.socal.res.rr.com. [172.117.161.177]) by smtp.gmail.com with ESMTPSA id v7-20020aa799c7000000b0055f209690c0sm8294198pfi.50.2022.12.13.18.22.12 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 13 Dec 2022 18:22:12 -0800 (PST) From: Yuan Fu Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) Subject: Re: bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode Message-Id: <71C3BCE2-C63A-4705-B598-0725FF5438A6@gmail.com> Date: Tue, 13 Dec 2022 18:22:11 -0800 To: Randy Taylor X-Mailer: Apple Mail (2.3696.120.41.1.1) X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 60025 Cc: Eli Zaretskii , theo@thornhill.no, 60025@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Randy Taylor writes: > On Tuesday, December 13th, 2022 at 07:25, Eli Zaretskii = wrote:=20 >>=20 >> > Cc: casouri@gmail.com, theo@thornhill.no >>=20 >> > Date: Tue, 13 Dec 2022 02:13:47 +0000 >> > From: Randy Taylor dev@rjt.dev >> >=20 >> > --- a/etc/NEWS >> > +++ b/etc/NEWS >> > @@ -3078,6 +3078,11 @@ A major mode based on the tree-sitter = library for editing CMake files. >> > It includes support for font-locking, indentation, Imenu, and >> > which-func. >> >=20 >> > +** New major modes 'go-ts-mode' and 'go-mod-ts-mode'. >> > +Major modes based on the tree-sitter library for editing programs = in >> > +the Go language. It includes support for font-locking, = indentation, >> > +Imenu, and which-func. >>=20 >>=20 >> This should say something about go-mod-ts-mode, at least which files >> it's supposed to support and for what purpose. > > Indeed, thanks. I decided to split them up, and I also added that they = will be auto-enabled. > >> > +(add-to-list 'auto-mode-alist '("go\\.mod\\'" . go-mod-ts-mode)) >>=20 >>=20 >> Aren't the files's base name always exactly "go.mod" and nothing = else? >> If so, the regexp should be augmented, because we don't want to use >> this moder for, say, foogo.mod or fubar-go.mod, right? > > Oops, that's right. Good catch. Looks pretty good to me :-) Yuan From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 14 07:02:33 2022 Received: (at 60025) by debbugs.gnu.org; 14 Dec 2022 12:02:33 +0000 Received: from localhost ([127.0.0.1]:38724 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5QT3-0005Tl-Ck for submit@debbugs.gnu.org; Wed, 14 Dec 2022 07:02:33 -0500 Received: from eggs.gnu.org ([209.51.188.92]:50468) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5QT1-0005Te-9K for 60025@debbugs.gnu.org; Wed, 14 Dec 2022 07:02:32 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p5QSr-0007PG-SS; Wed, 14 Dec 2022 07:02:25 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=Sob9m6Zaj/5XHgJ2cybYckvH5PpXomcwzbFfNIsj4Mw=; b=qvrLhzUyD5wX 3d/0AbNbpxfPU8UYAbvzmhQ2ABbTb8T11l5v+PsehoDIOM7hAcv8II7ZKZGKlLVpHtyfNHW0yBpqS RC2w7WFksuW/Z+srA9G3d5vTIpfNJYjIC5X6ga3m9eXvERVxPYU2LrfYARNm3f4Sgnodvta9id+2Q Bnywd3IXbCuclEv+ofvRUl1FaPqDEYdWAYe134if6dDHuWO7266gh1eEKkYIi/Tzslts4e0QSyLmW Irsq0sdJuYFDC3VGkadP1W5Xz2ggOkVJ6H5ll+X8rCGhDSQk0gktbpa1l6eNo47nTTTzRFYVeaUIt B0NeN30T6sudCrEzyzzgBA==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p5QSr-00019H-A3; Wed, 14 Dec 2022 07:02:21 -0500 Date: Wed, 14 Dec 2022 14:02:17 +0200 Message-Id: <83edt2nqgm.fsf@gnu.org> From: Eli Zaretskii To: Randy Taylor In-Reply-To: (message from Randy Taylor on Tue, 13 Dec 2022 19:39:18 +0000) Subject: Re: bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode References: <83r0x3pk28.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 60025 Cc: 60025@debbugs.gnu.org, theo@thornhill.no, casouri@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Tue, 13 Dec 2022 19:39:18 +0000 > From: Randy Taylor > Cc: 60025@debbugs.gnu.org, theo@thornhill.no, casouri@gmail.com > > +** New major mode 'go-mod-ts-mode'. > +A major mode based on the tree-sitter library for editing go.mod > +files. It includes support for font-locking and indentation. This > +mode will be auto-enabled for go.mod files. Please quote go.mod as 'go.mod' (we quote file names and symbols in NEWS). Otherwise, this LGTM, thanks. From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 14 11:21:56 2022 Received: (at 60025) by debbugs.gnu.org; 14 Dec 2022 16:21:56 +0000 Received: from localhost ([127.0.0.1]:40162 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5UW3-0004qf-Dl for submit@debbugs.gnu.org; Wed, 14 Dec 2022 11:21:56 -0500 Received: from mail-4323.proton.ch ([185.70.43.23]:38357) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5UW0-0004qZ-V3 for 60025@debbugs.gnu.org; Wed, 14 Dec 2022 11:21:54 -0500 Date: Wed, 14 Dec 2022 16:21:40 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rjt.dev; s=protonmail2; t=1671034905; x=1671294105; bh=VF8rWfVkJyrUir5HtNt/ataorInO+Lb+ANPRO8rw3eI=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=P8RTB99oyIPgE5gMVdzLy4ide1hdTsb/E5a2+OkykQhF5fnpAXPMBHgXgl7baovE2 C7OeBIw8Q2YrT2d9LbcNu7DHLwYimGY0GpCJpNO7He62bZ7q7N3cBzOh86MfRNpxsa yM7gzv0KjxxCoeUMeL1PXeAWmF9X3HQPA+mFyoSuGiY0YnVpLJq1G6oemnFjKs9+Vd 43R98whqCYp9pX2+bXB4+so6+sMmRIDcCJrt065FfAtT00PrrndUzIifX1zdfTH/iq 75RsDX4hDuNon/NLCV4+l7MXj619ImsztWcg366+8uJW0HGEs7n3ht1hWJt+/O/lnK XUjat4CEho40g== To: Eli Zaretskii From: Randy Taylor Subject: Re: bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode Message-ID: <5HEX4A0JH8fd_VGG1FbzJ8QtBZXlHLKtuAGgc_TUHvzKCzU2Q3PYbbi3rUWeLOBoJzg0qsQgVhwGZCF86A2Xg--I2ep5d1KjKoUoHrxXpqA=@rjt.dev> In-Reply-To: <83edt2nqgm.fsf@gnu.org> References: <83r0x3pk28.fsf@gnu.org> <83edt2nqgm.fsf@gnu.org> Feedback-ID: 44397038:user:proton MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_msCeSg39A0HPzi36tLazcbtqs4LLRtvhjCzzATeVzU" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 60025 Cc: 60025@debbugs.gnu.org, theo@thornhill.no, casouri@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --b1_msCeSg39A0HPzi36tLazcbtqs4LLRtvhjCzzATeVzU Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On Wednesday, December 14th, 2022 at 07:02, Eli Zaretskii wr= ote: >=20 > > Date: Tue, 13 Dec 2022 19:39:18 +0000 >=20 > > From: Randy Taylor dev@rjt.dev > > Cc: 60025@debbugs.gnu.org, theo@thornhill.no, casouri@gmail.com > >=20 > > +** New major mode 'go-mod-ts-mode'. > > +A major mode based on the tree-sitter library for editing go.mod > > +files. It includes support for font-locking and indentation. This > > +mode will be auto-enabled for go.mod files. >=20 >=20 > Please quote go.mod as 'go.mod' (we quote file names and symbols in > NEWS). >=20 > Otherwise, this LGTM, thanks. >=20 Thanks, here's the new patch. I double-quoted it since that's what other fi= le names and extensions have in NEWS - hopefully that's right. Assuming tha= t's OK, should be good to install. Yuan, did you see my original post in this thread? I'm wondering how to go = about tackling that indentation problem (I'm probably missing something ver= y simple and obvious). --b1_msCeSg39A0HPzi36tLazcbtqs4LLRtvhjCzzATeVzU Content-Type: text/x-patch; name=0001-Add-go-ts-mode-and-go-mod-ts-mode-Bug-60025.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=0001-Add-go-ts-mode-and-go-mod-ts-mode-Bug-60025.patch RnJvbSAzNjQzNDNkZTM2ZTMzMmEyYmVkNDUyN2M4NDQ3ODJiOGYxZTUwOGJlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSYW5keSBUYXlsb3IgPGRldkByanQuZGV2PgpEYXRlOiBTdW4s IDExIERlYyAyMDIyIDE4OjQxOjE2IC0wNTAwClN1YmplY3Q6IFtQQVRDSF0gQWRkIGdvLXRzLW1v ZGUgYW5kIGdvLW1vZC10cy1tb2RlIChCdWcjNjAwMjUpCgoqIGFkbWluL25vdGVzL3RyZWUtc2l0 dGVyL2J1aWxkLW1vZHVsZS9iYXRjaC5zaDoKKiBhZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9idWls ZC1tb2R1bGUvYnVpbGQuc2g6IEFkZCBnby1tb2Qgc3VwcG9ydC4KKiBldGMvTkVXUzogTWVudGlv biB0aGVtLgoqIGxpc3AvcHJvZ21vZGVzL2VnbG90LmVsIChlZ2xvdC1zZXJ2ZXItcHJvZ3JhbXMp OiBBZGQgdGhlbS4KKiBsaXNwL3Byb2dtb2Rlcy9nby10cy1tb2RlLmVsOiBOZXcgbWFqb3IgbW9k ZXMgd2l0aAp0cmVlLXNpdHRlciBzdXBwb3J0LgotLS0KIGFkbWluL25vdGVzL3RyZWUtc2l0dGVy L2J1aWxkLW1vZHVsZS9iYXRjaC5zaCB8ICAgMSArCiBhZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9i dWlsZC1tb2R1bGUvYnVpbGQuc2ggfCAgIDUgKwogZXRjL05FV1MgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDExICsKIGxpc3AvcHJvZ21vZGVzL2VnbG90LmVsICAgICAg ICAgICAgICAgICAgICAgICB8ICAgMyArLQogbGlzcC9wcm9nbW9kZXMvZ28tdHMtbW9kZS5lbCAg ICAgICAgICAgICAgICAgIHwgMzMxICsrKysrKysrKysrKysrKysrKwogNSBmaWxlcyBjaGFuZ2Vk LCAzNTAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGxp c3AvcHJvZ21vZGVzL2dvLXRzLW1vZGUuZWwKCmRpZmYgLS1naXQgYS9hZG1pbi9ub3Rlcy90cmVl LXNpdHRlci9idWlsZC1tb2R1bGUvYmF0Y2guc2ggYi9hZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9i dWlsZC1tb2R1bGUvYmF0Y2guc2gKaW5kZXggYzM5NTQ0OTk3Ny4uYzMyMmQ0MDVmMiAxMDA3NTUK LS0tIGEvYWRtaW4vbm90ZXMvdHJlZS1zaXR0ZXIvYnVpbGQtbW9kdWxlL2JhdGNoLnNoCisrKyBi L2FkbWluL25vdGVzL3RyZWUtc2l0dGVyL2J1aWxkLW1vZHVsZS9iYXRjaC5zaApAQCAtOCw2ICs4 LDcgQEAgbGFuZ3VhZ2VzPQogICAgICdjLXNoYXJwJwogICAgICdkb2NrZXJmaWxlJwogICAgICdn bycKKyAgICAnZ28tbW9kJwogICAgICdodG1sJwogICAgICdqYXZhc2NyaXB0JwogICAgICdqc29u JwpkaWZmIC0tZ2l0IGEvYWRtaW4vbm90ZXMvdHJlZS1zaXR0ZXIvYnVpbGQtbW9kdWxlL2J1aWxk LnNoIGIvYWRtaW4vbm90ZXMvdHJlZS1zaXR0ZXIvYnVpbGQtbW9kdWxlL2J1aWxkLnNoCmluZGV4 IDQxOTVlYTU4YzMuLjZkMjIxMjdiZDEgMTAwNzU1Ci0tLSBhL2FkbWluL25vdGVzL3RyZWUtc2l0 dGVyL2J1aWxkLW1vZHVsZS9idWlsZC5zaAorKysgYi9hZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9i dWlsZC1tb2R1bGUvYnVpbGQuc2gKQEAgLTI2LDYgKzI2LDExIEBAIGdyYW1tYXJkaXI9CiAgICAg ImNtYWtlIikKICAgICAgICAgb3JnPSJ1eWhhIgogICAgICAgICA7OworICAgICJnby1tb2QiKQor ICAgICAgICAjIFRoZSBwYXJzZXIgaXMgY2FsbGVkICJnb21vZCIuCisgICAgICAgIGxhbmc9Imdv bW9kIgorICAgICAgICBuYW1lc3BhY2U9ImNhbWRlbmNoZWVrIgorICAgICAgICA7OwogICAgICJ0 eXBlc2NyaXB0IikKICAgICAgICAgc291cmNlZGlyPSJ0cmVlLXNpdHRlci10eXBlc2NyaXB0L3R5 cGVzY3JpcHQvc3JjIgogICAgICAgICBncmFtbWFyZGlyPSJ0cmVlLXNpdHRlci10eXBlc2NyaXB0 L3R5cGVzY3JpcHQiCmRpZmYgLS1naXQgYS9ldGMvTkVXUyBiL2V0Yy9ORVdTCmluZGV4IDZjYjUz MWNkMGYuLjAyYzhkMTk3NzggMTAwNjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBA IC0zMDc4LDYgKzMwNzgsMTcgQEAgQSBtYWpvciBtb2RlIGJhc2VkIG9uIHRoZSB0cmVlLXNpdHRl ciBsaWJyYXJ5IGZvciBlZGl0aW5nIENNYWtlIGZpbGVzLgogSXQgaW5jbHVkZXMgc3VwcG9ydCBm b3IgZm9udC1sb2NraW5nLCBpbmRlbnRhdGlvbiwgSW1lbnUsIGFuZAogd2hpY2gtZnVuYy4KIAor KiogTmV3IG1ham9yIG1vZGUgJ2dvLXRzLW1vZGUnLgorQSBtYWpvciBtb2RlIGJhc2VkIG9uIHRo ZSB0cmVlLXNpdHRlciBsaWJyYXJ5IGZvciBlZGl0aW5nIHByb2dyYW1zIGluCit0aGUgR28gbGFu Z3VhZ2UuICBJdCBpbmNsdWRlcyBzdXBwb3J0IGZvciBmb250LWxvY2tpbmcsIGluZGVudGF0aW9u LAorSW1lbnUsIGFuZCB3aGljaC1mdW5jLiAgVGhpcyBtb2RlIHdpbGwgYmUgYXV0by1lbmFibGVk IGZvciBmaWxlcyB3aXRoCit0aGUgIi5nbyIgZXh0ZW5zaW9uLgorCisqKiBOZXcgbWFqb3IgbW9k ZSAnZ28tbW9kLXRzLW1vZGUnLgorQSBtYWpvciBtb2RlIGJhc2VkIG9uIHRoZSB0cmVlLXNpdHRl ciBsaWJyYXJ5IGZvciBlZGl0aW5nICJnby5tb2QiCitmaWxlcy4gIEl0IGluY2x1ZGVzIHN1cHBv cnQgZm9yIGZvbnQtbG9ja2luZyBhbmQgaW5kZW50YXRpb24uICBUaGlzCittb2RlIHdpbGwgYmUg YXV0by1lbmFibGVkIGZvciAiZ28ubW9kIiBmaWxlcy4KKwogDAogKiBJbmNvbXBhdGlibGUgTGlz cCBDaGFuZ2VzIGluIEVtYWNzIDI5LjEKIApkaWZmIC0tZ2l0IGEvbGlzcC9wcm9nbW9kZXMvZWds b3QuZWwgYi9saXNwL3Byb2dtb2Rlcy9lZ2xvdC5lbAppbmRleCA5YzVhMzYxZGY3Li4wMmJiNmJi NjY1IDEwMDY0NAotLS0gYS9saXNwL3Byb2dtb2Rlcy9lZ2xvdC5lbAorKysgYi9saXNwL3Byb2dt b2Rlcy9lZ2xvdC5lbApAQCAtMjExLDcgKzIxMSw4IEBAIGVnbG90LXNlcnZlci1wcm9ncmFtcwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZWxtLW1vZGUgLiAoImVsbS1sYW5ndWFn ZS1zZXJ2ZXIiKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1pbnQtbW9kZSAu ICgibWludCIgImxzIikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrb3RsaW4t bW9kZSAuICgia290bGluLWxhbmd1YWdlLXNlcnZlciIpKQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoKGdvLW1vZGUgZ28tZG90LW1vZC1tb2RlIGdvLWRvdC13b3JrLW1vZGUpIC4g KCJnb3BscyIpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKGdvLW1vZGUgZ28t ZG90LW1vZC1tb2RlIGdvLWRvdC13b3JrLW1vZGUgZ28tdHMtbW9kZSBnby1tb2QtdHMtbW9kZSkK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4gKCJnb3BscyIpKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoKFItbW9kZSBlc3Mtci1tb2RlKSAuICgiUiIgIi0tc2xh dmUiICItZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgImxhbmd1YWdlc2VydmVyOjpydW4oKSIpKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoKGphdmEtbW9kZSBqYXZhLXRzLW1vZGUpIC4gKCJqZHRscyIpKQpkaWZmIC0t Z2l0IGEvbGlzcC9wcm9nbW9kZXMvZ28tdHMtbW9kZS5lbCBiL2xpc3AvcHJvZ21vZGVzL2dvLXRz LW1vZGUuZWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uYjg2YWI3YWI4 NQotLS0gL2Rldi9udWxsCisrKyBiL2xpc3AvcHJvZ21vZGVzL2dvLXRzLW1vZGUuZWwKQEAgLTAs MCArMSwzMzEgQEAKKzs7OyBnby10cy1tb2RlLmVsIC0tLSB0cmVlLXNpdHRlciBzdXBwb3J0IGZv ciBHbyAgLSotIGxleGljYWwtYmluZGluZzogdDsgLSotCisKKzs7IENvcHlyaWdodCAoQykgMjAy MiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKworOzsgQXV0aG9yICAgICA6IFJhbmR5 IFRheWxvciA8ZGV2QHJqdC5kZXY+Cis7OyBNYWludGFpbmVyIDogUmFuZHkgVGF5bG9yIDxkZXZA cmp0LmRldj4KKzs7IENyZWF0ZWQgICAgOiBEZWNlbWJlciAyMDIyCis7OyBLZXl3b3JkcyAgIDog Z28gbGFuZ3VhZ2VzIHRyZWUtc2l0dGVyCisKKzs7IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBF bWFjcy4KKworOzsgR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vciBtb2RpZnkKKzs7IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cis7OyB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorOzsgKGF0 IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworOzsgR05VIEVtYWNzIGlzIGRpc3Ry aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCis7OyBidXQgV0lUSE9V VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorOzsg TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl IHRoZQorOzsgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKwor OzsgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UKKzs7IGFsb25nIHdpdGggR05VIEVtYWNzLiAgSWYgbm90LCBzZWUgPGh0dHBz Oi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKworOzs7IENvbW1lbnRhcnk6Cis7OworCis7Ozsg Q29kZToKKworKHJlcXVpcmUgJ3RyZWVzaXQpCisoZXZhbC13aGVuLWNvbXBpbGUgKHJlcXVpcmUg J3J4KSkKKworKGRlY2xhcmUtZnVuY3Rpb24gdHJlZXNpdC1wYXJzZXItY3JlYXRlICJ0cmVlc2l0 LmMiKQorKGRlY2xhcmUtZnVuY3Rpb24gdHJlZXNpdC1pbmR1Y2Utc3BhcnNlLXRyZWUgInRyZWVz aXQuYyIpCisoZGVjbGFyZS1mdW5jdGlvbiB0cmVlc2l0LW5vZGUtY2hpbGQgInRyZWVzaXQuYyIp CisoZGVjbGFyZS1mdW5jdGlvbiB0cmVlc2l0LW5vZGUtY2hpbGQtYnktZmllbGQtbmFtZSAidHJl ZXNpdC5jIikKKyhkZWNsYXJlLWZ1bmN0aW9uIHRyZWVzaXQtbm9kZS1zdGFydCAidHJlZXNpdC5j IikKKyhkZWNsYXJlLWZ1bmN0aW9uIHRyZWVzaXQtbm9kZS10eXBlICJ0cmVlc2l0LmMiKQorCiso ZGVmY3VzdG9tIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCA0CisgICJOdW1iZXIgb2Ygc3BhY2Vz IGZvciBlYWNoIGluZGVudGF0aW9uIHN0ZXAgaW4gYGdvLXRzLW1vZGUnLiIKKyAgOnZlcnNpb24g IjI5LjEiCisgIDp0eXBlICdpbnRlZ2VyCisgIDpzYWZlICdpbnRlZ2VycAorICA6Z3JvdXAgJ2dv KQorCisoZGVmdmFyIGdvLXRzLW1vZGUtLXN5bnRheC10YWJsZQorICAobGV0ICgodGFibGUgKG1h a2Utc3ludGF4LXRhYmxlKSkpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgPysgICAiLiIgICAg ICB0YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/LSAgICIuIiAgICAgIHRhYmxlKQor ICAgIChtb2RpZnktc3ludGF4LWVudHJ5ID89ICAgIi4iICAgICAgdGFibGUpCisgICAgKG1vZGlm eS1zeW50YXgtZW50cnkgPyUgICAiLiIgICAgICB0YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1l bnRyeSA/JiAgICIuIiAgICAgIHRhYmxlKQorICAgIChtb2RpZnktc3ludGF4LWVudHJ5ID98ICAg Ii4iICAgICAgdGFibGUpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgP14gICAiLiIgICAgICB0 YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/ISAgICIuIiAgICAgIHRhYmxlKQorICAg IChtb2RpZnktc3ludGF4LWVudHJ5ID88ICAgIi4iICAgICAgdGFibGUpCisgICAgKG1vZGlmeS1z eW50YXgtZW50cnkgPz4gICAiLiIgICAgICB0YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRy eSA/XFwgICJcXCIgICAgIHRhYmxlKQorICAgIChtb2RpZnktc3ludGF4LWVudHJ5ID8vICAgIi4g MTI0YiIgdGFibGUpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgPyogICAiLiAyMyIgICB0YWJs ZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/XG4gICI+IGIiICAgIHRhYmxlKQorICAgIHRh YmxlKQorICAiU3ludGF4IHRhYmxlIGZvciBgZ28tdHMtbW9kZScuIikKKworKGRlZnZhciBnby10 cy1tb2RlLS1pbmRlbnQtcnVsZXMKKyAgYCgoZ28KKyAgICAgKChub2RlLWlzICIpIikgcGFyZW50 LWJvbCAwKQorICAgICAoKG5vZGUtaXMgIl0iKSBwYXJlbnQtYm9sIDApCisgICAgICgobm9kZS1p cyAifSIpIHBhcmVudC1ib2wgMCkKKyAgICAgKChub2RlLWlzICJsYWJlbGVkX3N0YXRlbWVudCIp IG5vLWluZGVudCkKKyAgICAgKChwYXJlbnQtaXMgImFyZ3VtZW50X2xpc3QiKSBwYXJlbnQtYm9s IGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChwYXJlbnQtaXMgImJsb2NrIikgcGFy ZW50LWJvbCBnby10cy1tb2RlLWluZGVudC1vZmZzZXQpCisgICAgICgocGFyZW50LWlzICJjb25z dF9kZWNsYXJhdGlvbiIpIHBhcmVudC1ib2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAg ICAoKHBhcmVudC1pcyAiZGVmYXVsdF9jYXNlIikgcGFyZW50LWJvbCBnby10cy1tb2RlLWluZGVu dC1vZmZzZXQpCisgICAgICgocGFyZW50LWlzICJleHByZXNzaW9uX2Nhc2UiKSBwYXJlbnQtYm9s IGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChwYXJlbnQtaXMgImV4cHJlc3Npb25f c3dpdGNoX3N0YXRlbWVudCIpIHBhcmVudC1ib2wgMCkKKyAgICAgKChwYXJlbnQtaXMgImZpZWxk X2RlY2xhcmF0aW9uX2xpc3QiKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkK KyAgICAgKChwYXJlbnQtaXMgImltcG9ydF9zcGVjX2xpc3QiKSBwYXJlbnQtYm9sIGdvLXRzLW1v ZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChwYXJlbnQtaXMgImxhYmVsZWRfc3RhdGVtZW50Iikg cGFyZW50LWJvbCBnby10cy1tb2RlLWluZGVudC1vZmZzZXQpCisgICAgICgocGFyZW50LWlzICJs aXRlcmFsX3ZhbHVlIikgcGFyZW50LWJvbCBnby10cy1tb2RlLWluZGVudC1vZmZzZXQpCisgICAg ICgocGFyZW50LWlzICJ0eXBlX3NwZWMiKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9m ZnNldCkKKyAgICAgKChwYXJlbnQtaXMgInZhcl9kZWNsYXJhdGlvbiIpIHBhcmVudC1ib2wgZ28t dHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAobm8tbm9kZSBwYXJlbnQtYm9sIDApKSkKKyAg IlRyZWUtc2l0dGVyIGluZGVudCBydWxlcyBmb3IgYGdvLXRzLW1vZGUnLiIpCisKKyhkZWZ2YXIg Z28tdHMtbW9kZS0ta2V5d29yZHMKKyAgJygiYnJlYWsiICJjYXNlIiAiY2hhbiIgImNvbnN0IiAi Y29udGludWUiICJkZWZhdWx0IiAiZGVmZXIiICJlbHNlIgorICAgICJmYWxsdGhyb3VnaCIgImZv ciIgImZ1bmMiICJnbyIgImdvdG8iICJpZiIgImltcG9ydCIgImludGVyZmFjZSIgIm1hcCIKKyAg ICAicGFja2FnZSIgInJhbmdlIiAicmV0dXJuIiAic2VsZWN0IiAic3RydWN0IiAic3dpdGNoIiAi dHlwZSIgInZhciIpCisgICJHbyBrZXl3b3JkcyBmb3IgdHJlZS1zaXR0ZXIgZm9udC1sb2NraW5n LiIpCisKKyhkZWZ2YXIgZ28tdHMtbW9kZS0tb3BlcmF0b3JzCisgICcoIisiICImIiAiKz0iICIm PSIgIiYmIiAiPT0iICIhPSIgIi0iICJ8IiAiLT0iICJ8PSIgInx8IiAiPCIgIjw9IgorICAgICIq IiAiXiIgIio9IiAiXj0iICI8LSIgIj4iICI+PSIgIi8iICI8PCIgIi89IiAiPDw9IiAiKysiICI9 IiAiOj0iICIlIgorICAgICI+PiIgIiU9IiAiPj49IiAiLS0iICIhIiAgIi4uLiIgICImXiIgIiZe PSIgIn4iKQorICAiR28gb3BlcmF0b3JzIGZvciB0cmVlLXNpdHRlciBmb250LWxvY2tpbmcuIikK KworKGRlZnZhciBnby10cy1tb2RlLS1mb250LWxvY2stc2V0dGluZ3MKKyAgKHRyZWVzaXQtZm9u dC1sb2NrLXJ1bGVzCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAnYnJhY2tldAorICAg JygoWyIoIiAiKSIgIlsiICJdIiAieyIgIn0iXSkgQGZvbnQtbG9jay1icmFja2V0LWZhY2UpCisK KyAgIDpsYW5ndWFnZSAnZ28KKyAgIDpmZWF0dXJlICdjb21tZW50CisgICAnKChjb21tZW50KSBA Zm9udC1sb2NrLWNvbW1lbnQtZmFjZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUg J2NvbnN0YW50CisgICAnKFsoZmFsc2UpIChpb3RhKSAobmlsKSAodHJ1ZSldIEBmb250LWxvY2st Y29uc3RhbnQtZmFjZQorICAgICAoY29uc3RfZGVjbGFyYXRpb24KKyAgICAgIChjb25zdF9zcGVj IG5hbWU6IChpZGVudGlmaWVyKSBAZm9udC1sb2NrLWNvbnN0YW50LWZhY2UpKSkKKworICAgOmxh bmd1YWdlICdnbworICAgOmZlYXR1cmUgJ2RlbGltaXRlcgorICAgJygoWyIsIiAiLiIgIjsiICI6 Il0pIEBmb250LWxvY2stZGVsaW1pdGVyLWZhY2UpCisKKyAgIDpsYW5ndWFnZSAnZ28KKyAgIDpm ZWF0dXJlICdmdW5jdGlvbgorICAgJygoY2FsbF9leHByZXNzaW9uCisgICAgICBmdW5jdGlvbjog KGlkZW50aWZpZXIpIEBmb250LWxvY2stZnVuY3Rpb24tbmFtZS1mYWNlKQorICAgICAoY2FsbF9l eHByZXNzaW9uCisgICAgICBmdW5jdGlvbjogKHNlbGVjdG9yX2V4cHJlc3Npb24KKyAgICAgICAg ICAgICAgICAgZmllbGQ6IChmaWVsZF9pZGVudGlmaWVyKSBAZm9udC1sb2NrLWZ1bmN0aW9uLW5h bWUtZmFjZSkpCisgICAgIChmdW5jdGlvbl9kZWNsYXJhdGlvbgorICAgICAgbmFtZTogKGlkZW50 aWZpZXIpIEBmb250LWxvY2stZnVuY3Rpb24tbmFtZS1mYWNlKQorICAgICAobWV0aG9kX2RlY2xh cmF0aW9uCisgICAgICBuYW1lOiAoZmllbGRfaWRlbnRpZmllcikgQGZvbnQtbG9jay1mdW5jdGlv bi1uYW1lLWZhY2UpKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAna2V5d29yZAor ICAgYChbLEBnby10cy1tb2RlLS1rZXl3b3Jkc10gQGZvbnQtbG9jay1rZXl3b3JkLWZhY2UpCisK KyAgIDpsYW5ndWFnZSAnZ28KKyAgIDpmZWF0dXJlICdsYWJlbAorICAgJygobGFiZWxfbmFtZSkg QGZvbnQtbG9jay1jb25zdGFudC1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVy ZSAnbnVtYmVyCisgICAnKFsoZmxvYXRfbGl0ZXJhbCkKKyAgICAgIChpbWFnaW5hcnlfbGl0ZXJh bCkKKyAgICAgIChpbnRfbGl0ZXJhbCldIEBmb250LWxvY2stbnVtYmVyLWZhY2UpCisKKyAgIDps YW5ndWFnZSAnZ28KKyAgIDpmZWF0dXJlICdzdHJpbmcKKyAgICcoWyhpbnRlcnByZXRlZF9zdHJp bmdfbGl0ZXJhbCkKKyAgICAgIChyYXdfc3RyaW5nX2xpdGVyYWwpCisgICAgICAocnVuZV9saXRl cmFsKV0gQGZvbnQtbG9jay1zdHJpbmctZmFjZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZl YXR1cmUgJ3R5cGUKKyAgICcoWyhwYWNrYWdlX2lkZW50aWZpZXIpICh0eXBlX2lkZW50aWZpZXIp XSBAZm9udC1sb2NrLXR5cGUtZmFjZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUg J3ZhcmlhYmxlCisgICAnKChpZGVudGlmaWVyKSBAZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFj ZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUgJ2VzY2FwZS1zZXF1ZW5jZQorICAg Om92ZXJyaWRlIHQKKyAgICcoKGVzY2FwZV9zZXF1ZW5jZSkgQGZvbnQtbG9jay1lc2NhcGUtZmFj ZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUgJ3Byb3BlcnR5CisgICA6b3ZlcnJp ZGUgdAorICAgJygoZmllbGRfaWRlbnRpZmllcikgQGZvbnQtbG9jay1wcm9wZXJ0eS1mYWNlCisg ICAgIChrZXllZF9lbGVtZW50IChfIChpZGVudGlmaWVyKSBAZm9udC1sb2NrLXByb3BlcnR5LWZh Y2UpKSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUgJ2Vycm9yCisgICA6b3ZlcnJp ZGUgdAorICAgJygoRVJST1IpIEBmb250LWxvY2std2FybmluZy1mYWNlKSkKKyAgIlRyZWUtc2l0 dGVyIGZvbnQtbG9jayBzZXR0aW5ncyBmb3IgYGdvLXRzLW1vZGUnLiIpCisKKyhkZWZ1biBnby10 cy1tb2RlLS1pbWVudSAoKQorICAiUmV0dXJuIEltZW51IGFsaXN0IGZvciB0aGUgY3VycmVudCBi dWZmZXIuIgorICAobGV0KiAoKG5vZGUgKHRyZWVzaXQtYnVmZmVyLXJvb3Qtbm9kZSkpCisgICAg ICAgICAoZnVuYy10cmVlICh0cmVlc2l0LWluZHVjZS1zcGFyc2UtdHJlZQorICAgICAgICAgICAg ICAgICAgICAgbm9kZSAiZnVuY3Rpb25fZGVjbGFyYXRpb24iIG5pbCAxMDAwKSkKKyAgICAgICAg ICh0eXBlLXRyZWUgKHRyZWVzaXQtaW5kdWNlLXNwYXJzZS10cmVlCisgICAgICAgICAgICAgICAg ICAgICBub2RlICJ0eXBlX3NwZWMiIG5pbCAxMDAwKSkKKyAgICAgICAgIChmdW5jLWluZGV4IChn by10cy1tb2RlLS1pbWVudS0xIGZ1bmMtdHJlZSkpCisgICAgICAgICAodHlwZS1pbmRleCAoZ28t dHMtbW9kZS0taW1lbnUtMSB0eXBlLXRyZWUpKSkKKyAgICAoYXBwZW5kCisgICAgICh3aGVuIGZ1 bmMtaW5kZXggYCgoIkZ1bmN0aW9uIiAuICxmdW5jLWluZGV4KSkpCisgICAgICh3aGVuIHR5cGUt aW5kZXggYCgoIlR5cGUiIC4gLHR5cGUtaW5kZXgpKSkpKSkKKworKGRlZnVuIGdvLXRzLW1vZGUt LWltZW51LTEgKG5vZGUpCisgICJIZWxwZXIgZm9yIGBnby10cy1tb2RlLS1pbWVudScuCitGaW5k IHN0cmluZyByZXByZXNlbnRhdGlvbiBmb3IgTk9ERSBhbmQgc2V0IG1hcmtlciwgdGhlbiByZWN1 cnNlCit0aGUgc3VidHJlZXMuIgorICAobGV0KiAoKHRzLW5vZGUgKGNhciBub2RlKSkKKyAgICAg ICAgIChjaGlsZHJlbiAoY2RyIG5vZGUpKQorICAgICAgICAgKHN1YnRyZWVzIChtYXBjYW4gIydn by10cy1tb2RlLS1pbWVudS0xCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbikp CisgICAgICAgICAobmFtZSAod2hlbiB0cy1ub2RlCisgICAgICAgICAgICAgICAgICh0cmVlc2l0 LW5vZGUtdGV4dAorICAgICAgICAgICAgICAgICAgKHBjYXNlICh0cmVlc2l0LW5vZGUtdHlwZSB0 cy1ub2RlKQorICAgICAgICAgICAgICAgICAgICAoImZ1bmN0aW9uX2RlY2xhcmF0aW9uIgorICAg ICAgICAgICAgICAgICAgICAgKHRyZWVzaXQtbm9kZS1jaGlsZC1ieS1maWVsZC1uYW1lIHRzLW5v ZGUgIm5hbWUiKSkKKyAgICAgICAgICAgICAgICAgICAgKCJ0eXBlX3NwZWMiCisgICAgICAgICAg ICAgICAgICAgICAodHJlZXNpdC1ub2RlLWNoaWxkLWJ5LWZpZWxkLW5hbWUgdHMtbm9kZSAibmFt ZSIpKSkpKSkKKyAgICAgICAgIChtYXJrZXIgKHdoZW4gdHMtbm9kZQorICAgICAgICAgICAgICAg ICAgIChzZXQtbWFya2VyIChtYWtlLW1hcmtlcikKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAodHJlZXNpdC1ub2RlLXN0YXJ0IHRzLW5vZGUpKSkpKQorICAgIChjb25kCisgICAgICgo b3IgKG51bGwgdHMtbm9kZSkgKG51bGwgbmFtZSkpIHN1YnRyZWVzKQorICAgICAoc3VidHJlZXMK KyAgICAgIGAoKCxuYW1lICwoY29ucyBuYW1lIG1hcmtlcikgLEBzdWJ0cmVlcykpKQorICAgICAo dAorICAgICAgYCgoLG5hbWUgLiAsbWFya2VyKSkpKSkpCisKKzs7OyMjI2F1dG9sb2FkCisoYWRk LXRvLWxpc3QgJ2F1dG8tbW9kZS1hbGlzdCAnKCJcXC5nb1xcJyIgLiBnby10cy1tb2RlKSkKKwor Ozs7IyMjYXV0b2xvYWQKKyhkZWZpbmUtZGVyaXZlZC1tb2RlIGdvLXRzLW1vZGUgcHJvZy1tb2Rl ICJHbyIKKyAgIk1ham9yIG1vZGUgZm9yIGVkaXRpbmcgR28sIHBvd2VyZWQgYnkgdHJlZS1zaXR0 ZXIuIgorICA6Z3JvdXAgJ2dvCisgIDpzeW50YXgtdGFibGUgZ28tdHMtbW9kZS0tc3ludGF4LXRh YmxlCisKKyAgKHdoZW4gKHRyZWVzaXQtcmVhZHktcCAnZ28pCisgICAgKHRyZWVzaXQtcGFyc2Vy LWNyZWF0ZSAnZ28pCisKKyAgICA7OyBDb21tZW50cy4KKyAgICAoc2V0cS1sb2NhbCBjb21tZW50 LXN0YXJ0ICIvLyAiKQorICAgIChzZXRxLWxvY2FsIGNvbW1lbnQtZW5kICIiKQorICAgIChzZXRx LWxvY2FsIGNvbW1lbnQtc3RhcnQtc2tpcCAocnggIi8vIiAoKiAoc3ludGF4IHdoaXRlc3BhY2Up KSkpCisKKyAgICA7OyBJbWVudS4KKyAgICAoc2V0cS1sb2NhbCBpbWVudS1jcmVhdGUtaW5kZXgt ZnVuY3Rpb24gIydnby10cy1tb2RlLS1pbWVudSkKKyAgICAoc2V0cS1sb2NhbCB3aGljaC1mdW5j LWZ1bmN0aW9ucyBuaWwpCisKKyAgICA7OyBJbmRlbnQuCisgICAgKHNldHEtbG9jYWwgaW5kZW50 LXRhYnMtbW9kZSB0CisgICAgICAgICAgICAgICAgdHJlZXNpdC1zaW1wbGUtaW5kZW50LXJ1bGVz IGdvLXRzLW1vZGUtLWluZGVudC1ydWxlcykKKworICAgIDs7IEZvbnQtbG9jay4KKyAgICAoc2V0 cS1sb2NhbCB0cmVlc2l0LWZvbnQtbG9jay1zZXR0aW5ncyBnby10cy1tb2RlLS1mb250LWxvY2st c2V0dGluZ3MpCisgICAgKHNldHEtbG9jYWwgdHJlZXNpdC1mb250LWxvY2stZmVhdHVyZS1saXN0 CisgICAgICAgICAgICAgICAgJygoIGNvbW1lbnQpCisgICAgICAgICAgICAgICAgICAoIGtleXdv cmQgc3RyaW5nIHR5cGUpCisgICAgICAgICAgICAgICAgICAoIGNvbnN0YW50IGVzY2FwZS1zZXF1 ZW5jZSBmdW5jdGlvbiBsYWJlbCBudW1iZXIKKyAgICAgICAgICAgICAgICAgICAgcHJvcGVydHkg dmFyaWFibGUpCisgICAgICAgICAgICAgICAgICAoIGJyYWNrZXQgZGVsaW1pdGVyIGVycm9yIG9w ZXJhdG9yKSkpCisKKyAgICAodHJlZXNpdC1tYWpvci1tb2RlLXNldHVwKSkpCisKKzs7IGdvLm1v ZCBzdXBwb3J0LgorCisoZGVmdmFyIGdvLW1vZC10cy1tb2RlLS1zeW50YXgtdGFibGUKKyAgKGxl dCAoKHRhYmxlIChtYWtlLXN5bnRheC10YWJsZSkpKQorICAgIChtb2RpZnktc3ludGF4LWVudHJ5 ID8vICAgIi4gMTI0YiIgdGFibGUpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgP1xuICAiPiBi IiAgICB0YWJsZSkKKyAgICB0YWJsZSkKKyAgIlN5bnRheCB0YWJsZSBmb3IgYGdvLW1vZC10cy1t b2RlJy4iKQorCisoZGVmdmFyIGdvLW1vZC10cy1tb2RlLS1pbmRlbnQtcnVsZXMKKyAgYCgoZ29t b2QKKyAgICAgKChub2RlLWlzICIpIikgcGFyZW50LWJvbCAwKQorICAgICAoKHBhcmVudC1pcyAi cmVxdWlyZV9kaXJlY3RpdmUiKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkK KyAgICAgKG5vLW5vZGUgcGFyZW50LWJvbCAwKSkpCisgICJUcmVlLXNpdHRlciBpbmRlbnQgcnVs ZXMgZm9yIGBnby1tb2QtdHMtbW9kZScuIikKKworKGRlZnZhciBnby1tb2QtdHMtbW9kZS0ta2V5 d29yZHMKKyAgJygiZXhjbHVkZSIgImdvIiAibW9kdWxlIiAicmVwbGFjZSIgInJlcXVpcmUiICJy ZXRyYWN0IikKKyAgImdvLm1vZCBrZXl3b3JkcyBmb3IgdHJlZS1zaXR0ZXIgZm9udC1sb2NraW5n LiIpCisKKyhkZWZ2YXIgZ28tbW9kLXRzLW1vZGUtLWZvbnQtbG9jay1zZXR0aW5ncworICAodHJl ZXNpdC1mb250LWxvY2stcnVsZXMKKyAgIDpsYW5ndWFnZSAnZ29tb2QKKyAgIDpmZWF0dXJlICdi cmFja2V0CisgICAnKChbIigiICIpIl0pIEBmb250LWxvY2stYnJhY2tldC1mYWNlKQorCisgICA6 bGFuZ3VhZ2UgJ2dvbW9kCisgICA6ZmVhdHVyZSAnY29tbWVudAorICAgJygoY29tbWVudCkgQGZv bnQtbG9jay1jb21tZW50LWZhY2UpCisKKyAgIDpsYW5ndWFnZSAnZ29tb2QKKyAgIDpmZWF0dXJl ICdrZXl3b3JkCisgICBgKFssQGdvLW1vZC10cy1tb2RlLS1rZXl3b3Jkc10gQGZvbnQtbG9jay1r ZXl3b3JkLWZhY2UpCisKKyAgIDpsYW5ndWFnZSAnZ29tb2QKKyAgIDpmZWF0dXJlICdudW1iZXIK KyAgICcoWyhnb192ZXJzaW9uKSAodmVyc2lvbildIEBmb250LWxvY2stbnVtYmVyLWZhY2UpCisK KyAgIDpsYW5ndWFnZSAnZ29tb2QKKyAgIDpmZWF0dXJlICdvcGVyYXRvcgorICAgJygoWyI9PiJd KSBAZm9udC1sb2NrLW9wZXJhdG9yLWZhY2UpCisKKyAgIDpsYW5ndWFnZSAnZ29tb2QKKyAgIDpm ZWF0dXJlICdlcnJvcgorICAgOm92ZXJyaWRlIHQKKyAgICcoKEVSUk9SKSBAZm9udC1sb2NrLXdh cm5pbmctZmFjZSkpCisgICJUcmVlLXNpdHRlciBmb250LWxvY2sgc2V0dGluZ3MgZm9yIGBnby1t b2QtdHMtbW9kZScuIikKKworOzs7IyMjYXV0b2xvYWQKKyhhZGQtdG8tbGlzdCAnYXV0by1tb2Rl LWFsaXN0ICcoIi9nb1xcLm1vZFxcJyIgLiBnby1tb2QtdHMtbW9kZSkpCisKKzs7OyMjI2F1dG9s b2FkCisoZGVmaW5lLWRlcml2ZWQtbW9kZSBnby1tb2QtdHMtbW9kZSBwcm9nLW1vZGUgIkdvIE1v ZCIKKyAgIk1ham9yIG1vZGUgZm9yIGVkaXRpbmcgZ28ubW9kIGZpbGVzLCBwb3dlcmVkIGJ5IHRy ZWUtc2l0dGVyLiIKKyAgOmdyb3VwICdnbworICA6c3ludGF4LXRhYmxlIGdvLW1vZC10cy1tb2Rl LS1zeW50YXgtdGFibGUKKworICAod2hlbiAodHJlZXNpdC1yZWFkeS1wICdnb21vZCkKKyAgICAo dHJlZXNpdC1wYXJzZXItY3JlYXRlICdnb21vZCkKKworICAgIDs7IENvbW1lbnRzLgorICAgIChz ZXRxLWxvY2FsIGNvbW1lbnQtc3RhcnQgIi8vICIpCisgICAgKHNldHEtbG9jYWwgY29tbWVudC1l bmQgIiIpCisgICAgKHNldHEtbG9jYWwgY29tbWVudC1zdGFydC1za2lwIChyeCAiLy8iICgqIChz eW50YXggd2hpdGVzcGFjZSkpKSkKKworICAgIDs7IEluZGVudC4KKyAgICAoc2V0cS1sb2NhbCBp bmRlbnQtdGFicy1tb2RlIHQKKyAgICAgICAgICAgICAgICB0cmVlc2l0LXNpbXBsZS1pbmRlbnQt cnVsZXMgZ28tbW9kLXRzLW1vZGUtLWluZGVudC1ydWxlcykKKworICAgIDs7IEZvbnQtbG9jay4K KyAgICAoc2V0cS1sb2NhbCB0cmVlc2l0LWZvbnQtbG9jay1zZXR0aW5ncyBnby1tb2QtdHMtbW9k ZS0tZm9udC1sb2NrLXNldHRpbmdzKQorICAgIChzZXRxLWxvY2FsIHRyZWVzaXQtZm9udC1sb2Nr LWZlYXR1cmUtbGlzdAorICAgICAgICAgICAgICAgICcoKGNvbW1lbnQpCisgICAgICAgICAgICAg ICAgICAoa2V5d29yZCkKKyAgICAgICAgICAgICAgICAgIChudW1iZXIpCisgICAgICAgICAgICAg ICAgICAoYnJhY2tldCBlcnJvciBvcGVyYXRvcikpKQorCisgICAgKHRyZWVzaXQtbWFqb3ItbW9k ZS1zZXR1cCkpKQorCisocHJvdmlkZSAnZ28tdHMtbW9kZSkKKworOzs7IGdvLXRzLW1vZGUuZWwg ZW5kcyBoZXJlCi0tIAoyLjM5LjAKCg== --b1_msCeSg39A0HPzi36tLazcbtqs4LLRtvhjCzzATeVzU-- From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 14 14:55:18 2022 Received: (at 60025) by debbugs.gnu.org; 14 Dec 2022 19:55:18 +0000 Received: from localhost ([127.0.0.1]:41252 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5XqY-00013V-1S for submit@debbugs.gnu.org; Wed, 14 Dec 2022 14:55:18 -0500 Received: from mail-pl1-f180.google.com ([209.85.214.180]:40802) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5XqW-00013G-21 for 60025@debbugs.gnu.org; Wed, 14 Dec 2022 14:55:16 -0500 Received: by mail-pl1-f180.google.com with SMTP id a9so4481058pld.7 for <60025@debbugs.gnu.org>; Wed, 14 Dec 2022 11:55:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=dVi/DjPWvel832cahgGE+3Mzes7tt36oKJ3U+eiNdYA=; b=Ds+6nQmxCgOPs6Ffv4zqMv0A5Hcq7t7ZAy0fOQ9X2MhjDbK85EZ4Naa0Hmr9ev2jDU 490YfSrk/j4CC34Uc4vIHnSJL03iEZX4TkZqNljoZElqzWXO+aw5rPqo2vBg7Up+bEKJ Z0e2JthRC3F70CNl2sKRuM+KIRcDEnJFTt8JJHx/XdQBNPmnQ4XNt4fNlbVkrzEDxbDm c6DQpd/iX3O4KS7ul2z//EeNIwXWpw0jjeQLwKQmnUIalHWWHSv9ZPhNt+1cdRTnGeyt jfjNde7vyv3os4XmpjiGQlCc1R6ujIRgYqpwYNMUSgpE4Dx0DLFidv4G/YmCfgz3TZ7N wNNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=dVi/DjPWvel832cahgGE+3Mzes7tt36oKJ3U+eiNdYA=; b=P/so+4eOiDOHugojdVIl7zs70w7DdQEhATAr+tkUE1CgZ0Sp3XrJfKwK0JesTD5SiO /s0gYCCfG3v+VAbYA3/UiEXcBi7ek74qqemEtm+qTNOL6DLgHuXONtbM5xHi1c/USYSJ bpD7drgCXE1bFXslzFUxg6N+1HTW47f9hYlVUIx5kosH08f3A8VSTiLFOQOePZngZDjG Ij/39hKuIJWmkRAjVbkKez5LYQc0RsoeXxS8umz2m7mneEfg0Gh19dgxyQfWPJ1rzvOJ COLYRXIcMyNhAArImgYmilDpKH3AGv291DHAX1+Xkz7MBrjhCI05+Zn3x278A0LgNAdN vDkw== X-Gm-Message-State: ANoB5plZDmhv3HAh/3xv69GxAsA3e+vyyfUxJsjIy0BlPWSW2BDsiRT+ kHjkJZ1DfPL0AeH0txGPy7A= X-Google-Smtp-Source: AA0mqf4tVap8UrMxJkwVRHlJMK4zQQF7wPByzkfxwa+BaScW8VYqL7fz4NDfg8QdSx0ROEXkzUqUPw== X-Received: by 2002:a17:902:bb98:b0:188:edd2:318c with SMTP id m24-20020a170902bb9800b00188edd2318cmr26622264pls.26.1671047708910; Wed, 14 Dec 2022 11:55:08 -0800 (PST) Received: from smtpclient.apple (cpe-172-117-161-177.socal.res.rr.com. [172.117.161.177]) by smtp.gmail.com with ESMTPSA id c9-20020a170903234900b0018c7a5e052asm2218248plh.225.2022.12.14.11.55.08 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 14 Dec 2022 11:55:08 -0800 (PST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) Subject: Re: bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode From: Yuan Fu In-Reply-To: <5HEX4A0JH8fd_VGG1FbzJ8QtBZXlHLKtuAGgc_TUHvzKCzU2Q3PYbbi3rUWeLOBoJzg0qsQgVhwGZCF86A2Xg--I2ep5d1KjKoUoHrxXpqA=@rjt.dev> Date: Wed, 14 Dec 2022 11:55:06 -0800 Content-Transfer-Encoding: quoted-printable Message-Id: References: <83r0x3pk28.fsf@gnu.org> <83edt2nqgm.fsf@gnu.org> <5HEX4A0JH8fd_VGG1FbzJ8QtBZXlHLKtuAGgc_TUHvzKCzU2Q3PYbbi3rUWeLOBoJzg0qsQgVhwGZCF86A2Xg--I2ep5d1KjKoUoHrxXpqA=@rjt.dev> To: Randy Taylor X-Mailer: Apple Mail (2.3696.120.41.1.1) X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 60025 Cc: Eli Zaretskii , theo@thornhill.no, 60025@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > On Dec 14, 2022, at 8:21 AM, Randy Taylor wrote: >=20 > On Wednesday, December 14th, 2022 at 07:02, Eli Zaretskii = wrote: >>=20 >>> Date: Tue, 13 Dec 2022 19:39:18 +0000 >>=20 >>> From: Randy Taylor dev@rjt.dev >>> Cc: 60025@debbugs.gnu.org, theo@thornhill.no, casouri@gmail.com >>>=20 >>> +** New major mode 'go-mod-ts-mode'. >>> +A major mode based on the tree-sitter library for editing go.mod >>> +files. It includes support for font-locking and indentation. This >>> +mode will be auto-enabled for go.mod files. >>=20 >>=20 >> Please quote go.mod as 'go.mod' (we quote file names and symbols in >> NEWS). >>=20 >> Otherwise, this LGTM, thanks. >>=20 >=20 > Thanks, here's the new patch. I double-quoted it since that's what = other file names and extensions have in NEWS - hopefully that's right. = Assuming that's OK, should be good to install. >=20 > Yuan, did you see my original post in this thread? I'm wondering how = to go about tackling that indentation problem (I'm probably missing = something very simple and obvious). Ah, oops, replies below: > I am having a tiny bit of trouble with a go.mod indentation rule. = Using the patch, create a go.mod file anywhere, activate go-mod-ts-mode = and add the following: >=20 > require () >=20 > Place point inside the parens, and then hit enter. The expectation is = that point will end up indented inside that block. If you add the text = "test v1.0.0" and hit TAB, it will indent properly (and if you hit enter = after that text it will indent properly for the next entry). If you go = to the end of the line for the top paren and hit enter, it will not = indent (and we want it to). It seems to give us no-node in that = circumstance. Is there a simple indent rule that can match exactly that = that I'm missing? I think you can just test for the parent? In C, if point is at an empty = line after a statement in a block, like this: int main() { return 0; | } The matched rule is (parent-is =E2=80=9Ccompond_statement=E2=80=9D), = where compound_statement is the block. In your case, I guess you can = test if parent is the argument list. Yuan= From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 14 15:55:02 2022 Received: (at 60025) by debbugs.gnu.org; 14 Dec 2022 20:55:02 +0000 Received: from localhost ([127.0.0.1]:41822 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5YmL-0004J5-A7 for submit@debbugs.gnu.org; Wed, 14 Dec 2022 15:55:02 -0500 Received: from mail-4323.proton.ch ([185.70.43.23]:13279) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5YmH-0004Iz-DC for 60025@debbugs.gnu.org; Wed, 14 Dec 2022 15:54:59 -0500 Date: Wed, 14 Dec 2022 20:54:39 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rjt.dev; s=protonmail2; t=1671051290; x=1671310490; bh=zCCFAzTiLaIgIT2q6/FAKlJhQxrLiTeXGpyR+UvLwws=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=M8cOzzU+N/GPe8266O4hyWBxsBbUIGVe1psplBop6w38AQq2Bq6JWa9rXC/0rIw/c 4ftQg/xH/CsYJEv3ELg8/0G7Y9Os0BlpSXiPqGEugnDGt6Rl4tTHZIjY9NUhHVJYWn RQcYKVPj0qgv/+q2GFuaHM3IRUCj9+nCt0RRPJrZB5sJdg3MOoi+P1V7L4bg5qcoCQ 3sdM/nhhCsQnmKzkLW/zQ4fremRzizIxU8Mhqf8VeC2KAXY8BOvAaKO0FRgblxvPiN vJK/5U3ILRL+vbL9BAH+L1Z+NhoYAFCGIldwAwTdN11FbabZlp9Jc/vb6NnFTJLJjc Evxer5clVGbQQ== To: Yuan Fu From: Randy Taylor Subject: Re: bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode Message-ID: In-Reply-To: References: <83r0x3pk28.fsf@gnu.org> <83edt2nqgm.fsf@gnu.org> <5HEX4A0JH8fd_VGG1FbzJ8QtBZXlHLKtuAGgc_TUHvzKCzU2Q3PYbbi3rUWeLOBoJzg0qsQgVhwGZCF86A2Xg--I2ep5d1KjKoUoHrxXpqA=@rjt.dev> Feedback-ID: 44397038:user:proton MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_MrFEyTRG10rqEGEdBDgbFifiaflJdfdcqRJ5qvFiLE" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 60025 Cc: Eli Zaretskii , theo@thornhill.no, 60025@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --b1_MrFEyTRG10rqEGEdBDgbFifiaflJdfdcqRJ5qvFiLE Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On Wednesday, December 14th, 2022 at 14:55, Yuan Fu wro= te: >=20 > > I am having a tiny bit of trouble with a go.mod indentation rule. Using= the patch, create a go.mod file anywhere, activate go-mod-ts-mode and add = the following: > >=20 > > require () > >=20 > > Place point inside the parens, and then hit enter. The expectation is t= hat point will end up indented inside that block. If you add the text "test= v1.0.0" and hit TAB, it will indent properly (and if you hit enter after t= hat text it will indent properly for the next entry). If you go to the end = of the line for the top paren and hit enter, it will not indent (and we wan= t it to). It seems to give us no-node in that circumstance. Is there a simp= le indent rule that can match exactly that that I'm missing? >=20 >=20 > I think you can just test for the parent? In C, if point is at an empty l= ine after a statement in a block, like this: >=20 > int main() { > return 0; > | > } >=20 > The matched rule is (parent-is =E2=80=9Ccompond_statement=E2=80=9D), wher= e compound_statement is the block. In your case, I guess you can test if pa= rent is the argument list. >=20 > Yuan I do match for the parent, but it doesn't seem to help. Here's what tree-sitter explorer shows for the following: require ( ) (require_directive require ( \n ) \n) If I put point on the line right below r and do C-S-a, tree-sitter explorer= shows: (require_directive require (*\n ) \n) The * indicates that part is highlighted. The second I make it "proper" like so: require ( test v1 ) I can hit TAB and it will indent properly (but not anything above it, only = that line and anything below). I would think that checking parent-is for require_directive would be enough= but it's not somehow??? It's instead matching my no-node rule... (Also I attached a new patch which contains a few more indent rules for go.= mod I forgot about). --b1_MrFEyTRG10rqEGEdBDgbFifiaflJdfdcqRJ5qvFiLE Content-Type: text/x-patch; name=0001-Add-go-ts-mode-and-go-mod-ts-mode-Bug-60025.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=0001-Add-go-ts-mode-and-go-mod-ts-mode-Bug-60025.patch RnJvbSA3NTU1YTRiMGY3ODMwMjEwYjU2OWJmZjJkZGNkODdjNDJjYWNkYTNlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSYW5keSBUYXlsb3IgPGRldkByanQuZGV2PgpEYXRlOiBTdW4s IDExIERlYyAyMDIyIDE4OjQxOjE2IC0wNTAwClN1YmplY3Q6IFtQQVRDSF0gQWRkIGdvLXRzLW1v ZGUgYW5kIGdvLW1vZC10cy1tb2RlIChCdWcjNjAwMjUpCgoqIGFkbWluL25vdGVzL3RyZWUtc2l0 dGVyL2J1aWxkLW1vZHVsZS9iYXRjaC5zaDoKKiBhZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9idWls ZC1tb2R1bGUvYnVpbGQuc2g6IEFkZCBnby1tb2Qgc3VwcG9ydC4KKiBldGMvTkVXUzogTWVudGlv biB0aGVtLgoqIGxpc3AvcHJvZ21vZGVzL2VnbG90LmVsIChlZ2xvdC1zZXJ2ZXItcHJvZ3JhbXMp OiBBZGQgdGhlbS4KKiBsaXNwL3Byb2dtb2Rlcy9nby10cy1tb2RlLmVsOiBOZXcgbWFqb3IgbW9k ZXMgd2l0aAp0cmVlLXNpdHRlciBzdXBwb3J0LgotLS0KIGFkbWluL25vdGVzL3RyZWUtc2l0dGVy L2J1aWxkLW1vZHVsZS9iYXRjaC5zaCB8ICAgMSArCiBhZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9i dWlsZC1tb2R1bGUvYnVpbGQuc2ggfCAgIDUgKwogZXRjL05FV1MgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDExICsKIGxpc3AvcHJvZ21vZGVzL2VnbG90LmVsICAgICAg ICAgICAgICAgICAgICAgICB8ICAgMyArLQogbGlzcC9wcm9nbW9kZXMvZ28tdHMtbW9kZS5lbCAg ICAgICAgICAgICAgICAgIHwgMzM1ICsrKysrKysrKysrKysrKysrKwogNSBmaWxlcyBjaGFuZ2Vk LCAzNTQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGxp c3AvcHJvZ21vZGVzL2dvLXRzLW1vZGUuZWwKCmRpZmYgLS1naXQgYS9hZG1pbi9ub3Rlcy90cmVl LXNpdHRlci9idWlsZC1tb2R1bGUvYmF0Y2guc2ggYi9hZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9i dWlsZC1tb2R1bGUvYmF0Y2guc2gKaW5kZXggYzM5NTQ0OTk3Ny4uYzMyMmQ0MDVmMiAxMDA3NTUK LS0tIGEvYWRtaW4vbm90ZXMvdHJlZS1zaXR0ZXIvYnVpbGQtbW9kdWxlL2JhdGNoLnNoCisrKyBi L2FkbWluL25vdGVzL3RyZWUtc2l0dGVyL2J1aWxkLW1vZHVsZS9iYXRjaC5zaApAQCAtOCw2ICs4 LDcgQEAgbGFuZ3VhZ2VzPQogICAgICdjLXNoYXJwJwogICAgICdkb2NrZXJmaWxlJwogICAgICdn bycKKyAgICAnZ28tbW9kJwogICAgICdodG1sJwogICAgICdqYXZhc2NyaXB0JwogICAgICdqc29u JwpkaWZmIC0tZ2l0IGEvYWRtaW4vbm90ZXMvdHJlZS1zaXR0ZXIvYnVpbGQtbW9kdWxlL2J1aWxk LnNoIGIvYWRtaW4vbm90ZXMvdHJlZS1zaXR0ZXIvYnVpbGQtbW9kdWxlL2J1aWxkLnNoCmluZGV4 IDQxOTVlYTU4YzMuLjZkMjIxMjdiZDEgMTAwNzU1Ci0tLSBhL2FkbWluL25vdGVzL3RyZWUtc2l0 dGVyL2J1aWxkLW1vZHVsZS9idWlsZC5zaAorKysgYi9hZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9i dWlsZC1tb2R1bGUvYnVpbGQuc2gKQEAgLTI2LDYgKzI2LDExIEBAIGdyYW1tYXJkaXI9CiAgICAg ImNtYWtlIikKICAgICAgICAgb3JnPSJ1eWhhIgogICAgICAgICA7OworICAgICJnby1tb2QiKQor ICAgICAgICAjIFRoZSBwYXJzZXIgaXMgY2FsbGVkICJnb21vZCIuCisgICAgICAgIGxhbmc9Imdv bW9kIgorICAgICAgICBuYW1lc3BhY2U9ImNhbWRlbmNoZWVrIgorICAgICAgICA7OwogICAgICJ0 eXBlc2NyaXB0IikKICAgICAgICAgc291cmNlZGlyPSJ0cmVlLXNpdHRlci10eXBlc2NyaXB0L3R5 cGVzY3JpcHQvc3JjIgogICAgICAgICBncmFtbWFyZGlyPSJ0cmVlLXNpdHRlci10eXBlc2NyaXB0 L3R5cGVzY3JpcHQiCmRpZmYgLS1naXQgYS9ldGMvTkVXUyBiL2V0Yy9ORVdTCmluZGV4IDZjYjUz MWNkMGYuLjAyYzhkMTk3NzggMTAwNjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBA IC0zMDc4LDYgKzMwNzgsMTcgQEAgQSBtYWpvciBtb2RlIGJhc2VkIG9uIHRoZSB0cmVlLXNpdHRl ciBsaWJyYXJ5IGZvciBlZGl0aW5nIENNYWtlIGZpbGVzLgogSXQgaW5jbHVkZXMgc3VwcG9ydCBm b3IgZm9udC1sb2NraW5nLCBpbmRlbnRhdGlvbiwgSW1lbnUsIGFuZAogd2hpY2gtZnVuYy4KIAor KiogTmV3IG1ham9yIG1vZGUgJ2dvLXRzLW1vZGUnLgorQSBtYWpvciBtb2RlIGJhc2VkIG9uIHRo ZSB0cmVlLXNpdHRlciBsaWJyYXJ5IGZvciBlZGl0aW5nIHByb2dyYW1zIGluCit0aGUgR28gbGFu Z3VhZ2UuICBJdCBpbmNsdWRlcyBzdXBwb3J0IGZvciBmb250LWxvY2tpbmcsIGluZGVudGF0aW9u LAorSW1lbnUsIGFuZCB3aGljaC1mdW5jLiAgVGhpcyBtb2RlIHdpbGwgYmUgYXV0by1lbmFibGVk IGZvciBmaWxlcyB3aXRoCit0aGUgIi5nbyIgZXh0ZW5zaW9uLgorCisqKiBOZXcgbWFqb3IgbW9k ZSAnZ28tbW9kLXRzLW1vZGUnLgorQSBtYWpvciBtb2RlIGJhc2VkIG9uIHRoZSB0cmVlLXNpdHRl ciBsaWJyYXJ5IGZvciBlZGl0aW5nICJnby5tb2QiCitmaWxlcy4gIEl0IGluY2x1ZGVzIHN1cHBv cnQgZm9yIGZvbnQtbG9ja2luZyBhbmQgaW5kZW50YXRpb24uICBUaGlzCittb2RlIHdpbGwgYmUg YXV0by1lbmFibGVkIGZvciAiZ28ubW9kIiBmaWxlcy4KKwogDAogKiBJbmNvbXBhdGlibGUgTGlz cCBDaGFuZ2VzIGluIEVtYWNzIDI5LjEKIApkaWZmIC0tZ2l0IGEvbGlzcC9wcm9nbW9kZXMvZWds b3QuZWwgYi9saXNwL3Byb2dtb2Rlcy9lZ2xvdC5lbAppbmRleCA5YzVhMzYxZGY3Li4wMmJiNmJi NjY1IDEwMDY0NAotLS0gYS9saXNwL3Byb2dtb2Rlcy9lZ2xvdC5lbAorKysgYi9saXNwL3Byb2dt b2Rlcy9lZ2xvdC5lbApAQCAtMjExLDcgKzIxMSw4IEBAIGVnbG90LXNlcnZlci1wcm9ncmFtcwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZWxtLW1vZGUgLiAoImVsbS1sYW5ndWFn ZS1zZXJ2ZXIiKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1pbnQtbW9kZSAu ICgibWludCIgImxzIikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrb3RsaW4t bW9kZSAuICgia290bGluLWxhbmd1YWdlLXNlcnZlciIpKQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoKGdvLW1vZGUgZ28tZG90LW1vZC1tb2RlIGdvLWRvdC13b3JrLW1vZGUpIC4g KCJnb3BscyIpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKGdvLW1vZGUgZ28t ZG90LW1vZC1tb2RlIGdvLWRvdC13b3JrLW1vZGUgZ28tdHMtbW9kZSBnby1tb2QtdHMtbW9kZSkK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4gKCJnb3BscyIpKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoKFItbW9kZSBlc3Mtci1tb2RlKSAuICgiUiIgIi0tc2xh dmUiICItZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgImxhbmd1YWdlc2VydmVyOjpydW4oKSIpKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoKGphdmEtbW9kZSBqYXZhLXRzLW1vZGUpIC4gKCJqZHRscyIpKQpkaWZmIC0t Z2l0IGEvbGlzcC9wcm9nbW9kZXMvZ28tdHMtbW9kZS5lbCBiL2xpc3AvcHJvZ21vZGVzL2dvLXRz LW1vZGUuZWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uMDJmNWQ1Mzgx MAotLS0gL2Rldi9udWxsCisrKyBiL2xpc3AvcHJvZ21vZGVzL2dvLXRzLW1vZGUuZWwKQEAgLTAs MCArMSwzMzUgQEAKKzs7OyBnby10cy1tb2RlLmVsIC0tLSB0cmVlLXNpdHRlciBzdXBwb3J0IGZv ciBHbyAgLSotIGxleGljYWwtYmluZGluZzogdDsgLSotCisKKzs7IENvcHlyaWdodCAoQykgMjAy MiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKworOzsgQXV0aG9yICAgICA6IFJhbmR5 IFRheWxvciA8ZGV2QHJqdC5kZXY+Cis7OyBNYWludGFpbmVyIDogUmFuZHkgVGF5bG9yIDxkZXZA cmp0LmRldj4KKzs7IENyZWF0ZWQgICAgOiBEZWNlbWJlciAyMDIyCis7OyBLZXl3b3JkcyAgIDog Z28gbGFuZ3VhZ2VzIHRyZWUtc2l0dGVyCisKKzs7IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBF bWFjcy4KKworOzsgR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vciBtb2RpZnkKKzs7IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cis7OyB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorOzsgKGF0 IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworOzsgR05VIEVtYWNzIGlzIGRpc3Ry aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCis7OyBidXQgV0lUSE9V VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorOzsg TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl IHRoZQorOzsgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKwor OzsgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UKKzs7IGFsb25nIHdpdGggR05VIEVtYWNzLiAgSWYgbm90LCBzZWUgPGh0dHBz Oi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKworOzs7IENvbW1lbnRhcnk6Cis7OworCis7Ozsg Q29kZToKKworKHJlcXVpcmUgJ3RyZWVzaXQpCisoZXZhbC13aGVuLWNvbXBpbGUgKHJlcXVpcmUg J3J4KSkKKworKGRlY2xhcmUtZnVuY3Rpb24gdHJlZXNpdC1wYXJzZXItY3JlYXRlICJ0cmVlc2l0 LmMiKQorKGRlY2xhcmUtZnVuY3Rpb24gdHJlZXNpdC1pbmR1Y2Utc3BhcnNlLXRyZWUgInRyZWVz aXQuYyIpCisoZGVjbGFyZS1mdW5jdGlvbiB0cmVlc2l0LW5vZGUtY2hpbGQgInRyZWVzaXQuYyIp CisoZGVjbGFyZS1mdW5jdGlvbiB0cmVlc2l0LW5vZGUtY2hpbGQtYnktZmllbGQtbmFtZSAidHJl ZXNpdC5jIikKKyhkZWNsYXJlLWZ1bmN0aW9uIHRyZWVzaXQtbm9kZS1zdGFydCAidHJlZXNpdC5j IikKKyhkZWNsYXJlLWZ1bmN0aW9uIHRyZWVzaXQtbm9kZS10eXBlICJ0cmVlc2l0LmMiKQorCiso ZGVmY3VzdG9tIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCA0CisgICJOdW1iZXIgb2Ygc3BhY2Vz IGZvciBlYWNoIGluZGVudGF0aW9uIHN0ZXAgaW4gYGdvLXRzLW1vZGUnLiIKKyAgOnZlcnNpb24g IjI5LjEiCisgIDp0eXBlICdpbnRlZ2VyCisgIDpzYWZlICdpbnRlZ2VycAorICA6Z3JvdXAgJ2dv KQorCisoZGVmdmFyIGdvLXRzLW1vZGUtLXN5bnRheC10YWJsZQorICAobGV0ICgodGFibGUgKG1h a2Utc3ludGF4LXRhYmxlKSkpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgPysgICAiLiIgICAg ICB0YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/LSAgICIuIiAgICAgIHRhYmxlKQor ICAgIChtb2RpZnktc3ludGF4LWVudHJ5ID89ICAgIi4iICAgICAgdGFibGUpCisgICAgKG1vZGlm eS1zeW50YXgtZW50cnkgPyUgICAiLiIgICAgICB0YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1l bnRyeSA/JiAgICIuIiAgICAgIHRhYmxlKQorICAgIChtb2RpZnktc3ludGF4LWVudHJ5ID98ICAg Ii4iICAgICAgdGFibGUpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgP14gICAiLiIgICAgICB0 YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/ISAgICIuIiAgICAgIHRhYmxlKQorICAg IChtb2RpZnktc3ludGF4LWVudHJ5ID88ICAgIi4iICAgICAgdGFibGUpCisgICAgKG1vZGlmeS1z eW50YXgtZW50cnkgPz4gICAiLiIgICAgICB0YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRy eSA/XFwgICJcXCIgICAgIHRhYmxlKQorICAgIChtb2RpZnktc3ludGF4LWVudHJ5ID8vICAgIi4g MTI0YiIgdGFibGUpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgPyogICAiLiAyMyIgICB0YWJs ZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/XG4gICI+IGIiICAgIHRhYmxlKQorICAgIHRh YmxlKQorICAiU3ludGF4IHRhYmxlIGZvciBgZ28tdHMtbW9kZScuIikKKworKGRlZnZhciBnby10 cy1tb2RlLS1pbmRlbnQtcnVsZXMKKyAgYCgoZ28KKyAgICAgKChub2RlLWlzICIpIikgcGFyZW50 LWJvbCAwKQorICAgICAoKG5vZGUtaXMgIl0iKSBwYXJlbnQtYm9sIDApCisgICAgICgobm9kZS1p cyAifSIpIHBhcmVudC1ib2wgMCkKKyAgICAgKChub2RlLWlzICJsYWJlbGVkX3N0YXRlbWVudCIp IG5vLWluZGVudCkKKyAgICAgKChwYXJlbnQtaXMgImFyZ3VtZW50X2xpc3QiKSBwYXJlbnQtYm9s IGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChwYXJlbnQtaXMgImJsb2NrIikgcGFy ZW50LWJvbCBnby10cy1tb2RlLWluZGVudC1vZmZzZXQpCisgICAgICgocGFyZW50LWlzICJjb25z dF9kZWNsYXJhdGlvbiIpIHBhcmVudC1ib2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAg ICAoKHBhcmVudC1pcyAiZGVmYXVsdF9jYXNlIikgcGFyZW50LWJvbCBnby10cy1tb2RlLWluZGVu dC1vZmZzZXQpCisgICAgICgocGFyZW50LWlzICJleHByZXNzaW9uX2Nhc2UiKSBwYXJlbnQtYm9s IGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChwYXJlbnQtaXMgImV4cHJlc3Npb25f c3dpdGNoX3N0YXRlbWVudCIpIHBhcmVudC1ib2wgMCkKKyAgICAgKChwYXJlbnQtaXMgImZpZWxk X2RlY2xhcmF0aW9uX2xpc3QiKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkK KyAgICAgKChwYXJlbnQtaXMgImltcG9ydF9zcGVjX2xpc3QiKSBwYXJlbnQtYm9sIGdvLXRzLW1v ZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChwYXJlbnQtaXMgImxhYmVsZWRfc3RhdGVtZW50Iikg cGFyZW50LWJvbCBnby10cy1tb2RlLWluZGVudC1vZmZzZXQpCisgICAgICgocGFyZW50LWlzICJs aXRlcmFsX3ZhbHVlIikgcGFyZW50LWJvbCBnby10cy1tb2RlLWluZGVudC1vZmZzZXQpCisgICAg ICgocGFyZW50LWlzICJ0eXBlX3NwZWMiKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9m ZnNldCkKKyAgICAgKChwYXJlbnQtaXMgInZhcl9kZWNsYXJhdGlvbiIpIHBhcmVudC1ib2wgZ28t dHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAobm8tbm9kZSBwYXJlbnQtYm9sIDApKSkKKyAg IlRyZWUtc2l0dGVyIGluZGVudCBydWxlcyBmb3IgYGdvLXRzLW1vZGUnLiIpCisKKyhkZWZ2YXIg Z28tdHMtbW9kZS0ta2V5d29yZHMKKyAgJygiYnJlYWsiICJjYXNlIiAiY2hhbiIgImNvbnN0IiAi Y29udGludWUiICJkZWZhdWx0IiAiZGVmZXIiICJlbHNlIgorICAgICJmYWxsdGhyb3VnaCIgImZv ciIgImZ1bmMiICJnbyIgImdvdG8iICJpZiIgImltcG9ydCIgImludGVyZmFjZSIgIm1hcCIKKyAg ICAicGFja2FnZSIgInJhbmdlIiAicmV0dXJuIiAic2VsZWN0IiAic3RydWN0IiAic3dpdGNoIiAi dHlwZSIgInZhciIpCisgICJHbyBrZXl3b3JkcyBmb3IgdHJlZS1zaXR0ZXIgZm9udC1sb2NraW5n LiIpCisKKyhkZWZ2YXIgZ28tdHMtbW9kZS0tb3BlcmF0b3JzCisgICcoIisiICImIiAiKz0iICIm PSIgIiYmIiAiPT0iICIhPSIgIi0iICJ8IiAiLT0iICJ8PSIgInx8IiAiPCIgIjw9IgorICAgICIq IiAiXiIgIio9IiAiXj0iICI8LSIgIj4iICI+PSIgIi8iICI8PCIgIi89IiAiPDw9IiAiKysiICI9 IiAiOj0iICIlIgorICAgICI+PiIgIiU9IiAiPj49IiAiLS0iICIhIiAgIi4uLiIgICImXiIgIiZe PSIgIn4iKQorICAiR28gb3BlcmF0b3JzIGZvciB0cmVlLXNpdHRlciBmb250LWxvY2tpbmcuIikK KworKGRlZnZhciBnby10cy1tb2RlLS1mb250LWxvY2stc2V0dGluZ3MKKyAgKHRyZWVzaXQtZm9u dC1sb2NrLXJ1bGVzCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAnYnJhY2tldAorICAg JygoWyIoIiAiKSIgIlsiICJdIiAieyIgIn0iXSkgQGZvbnQtbG9jay1icmFja2V0LWZhY2UpCisK KyAgIDpsYW5ndWFnZSAnZ28KKyAgIDpmZWF0dXJlICdjb21tZW50CisgICAnKChjb21tZW50KSBA Zm9udC1sb2NrLWNvbW1lbnQtZmFjZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUg J2NvbnN0YW50CisgICAnKFsoZmFsc2UpIChpb3RhKSAobmlsKSAodHJ1ZSldIEBmb250LWxvY2st Y29uc3RhbnQtZmFjZQorICAgICAoY29uc3RfZGVjbGFyYXRpb24KKyAgICAgIChjb25zdF9zcGVj IG5hbWU6IChpZGVudGlmaWVyKSBAZm9udC1sb2NrLWNvbnN0YW50LWZhY2UpKSkKKworICAgOmxh bmd1YWdlICdnbworICAgOmZlYXR1cmUgJ2RlbGltaXRlcgorICAgJygoWyIsIiAiLiIgIjsiICI6 Il0pIEBmb250LWxvY2stZGVsaW1pdGVyLWZhY2UpCisKKyAgIDpsYW5ndWFnZSAnZ28KKyAgIDpm ZWF0dXJlICdmdW5jdGlvbgorICAgJygoY2FsbF9leHByZXNzaW9uCisgICAgICBmdW5jdGlvbjog KGlkZW50aWZpZXIpIEBmb250LWxvY2stZnVuY3Rpb24tbmFtZS1mYWNlKQorICAgICAoY2FsbF9l eHByZXNzaW9uCisgICAgICBmdW5jdGlvbjogKHNlbGVjdG9yX2V4cHJlc3Npb24KKyAgICAgICAg ICAgICAgICAgZmllbGQ6IChmaWVsZF9pZGVudGlmaWVyKSBAZm9udC1sb2NrLWZ1bmN0aW9uLW5h bWUtZmFjZSkpCisgICAgIChmdW5jdGlvbl9kZWNsYXJhdGlvbgorICAgICAgbmFtZTogKGlkZW50 aWZpZXIpIEBmb250LWxvY2stZnVuY3Rpb24tbmFtZS1mYWNlKQorICAgICAobWV0aG9kX2RlY2xh cmF0aW9uCisgICAgICBuYW1lOiAoZmllbGRfaWRlbnRpZmllcikgQGZvbnQtbG9jay1mdW5jdGlv bi1uYW1lLWZhY2UpKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAna2V5d29yZAor ICAgYChbLEBnby10cy1tb2RlLS1rZXl3b3Jkc10gQGZvbnQtbG9jay1rZXl3b3JkLWZhY2UpCisK KyAgIDpsYW5ndWFnZSAnZ28KKyAgIDpmZWF0dXJlICdsYWJlbAorICAgJygobGFiZWxfbmFtZSkg QGZvbnQtbG9jay1jb25zdGFudC1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVy ZSAnbnVtYmVyCisgICAnKFsoZmxvYXRfbGl0ZXJhbCkKKyAgICAgIChpbWFnaW5hcnlfbGl0ZXJh bCkKKyAgICAgIChpbnRfbGl0ZXJhbCldIEBmb250LWxvY2stbnVtYmVyLWZhY2UpCisKKyAgIDps YW5ndWFnZSAnZ28KKyAgIDpmZWF0dXJlICdzdHJpbmcKKyAgICcoWyhpbnRlcnByZXRlZF9zdHJp bmdfbGl0ZXJhbCkKKyAgICAgIChyYXdfc3RyaW5nX2xpdGVyYWwpCisgICAgICAocnVuZV9saXRl cmFsKV0gQGZvbnQtbG9jay1zdHJpbmctZmFjZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZl YXR1cmUgJ3R5cGUKKyAgICcoWyhwYWNrYWdlX2lkZW50aWZpZXIpICh0eXBlX2lkZW50aWZpZXIp XSBAZm9udC1sb2NrLXR5cGUtZmFjZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUg J3ZhcmlhYmxlCisgICAnKChpZGVudGlmaWVyKSBAZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFj ZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUgJ2VzY2FwZS1zZXF1ZW5jZQorICAg Om92ZXJyaWRlIHQKKyAgICcoKGVzY2FwZV9zZXF1ZW5jZSkgQGZvbnQtbG9jay1lc2NhcGUtZmFj ZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUgJ3Byb3BlcnR5CisgICA6b3ZlcnJp ZGUgdAorICAgJygoZmllbGRfaWRlbnRpZmllcikgQGZvbnQtbG9jay1wcm9wZXJ0eS1mYWNlCisg ICAgIChrZXllZF9lbGVtZW50IChfIChpZGVudGlmaWVyKSBAZm9udC1sb2NrLXByb3BlcnR5LWZh Y2UpKSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUgJ2Vycm9yCisgICA6b3ZlcnJp ZGUgdAorICAgJygoRVJST1IpIEBmb250LWxvY2std2FybmluZy1mYWNlKSkKKyAgIlRyZWUtc2l0 dGVyIGZvbnQtbG9jayBzZXR0aW5ncyBmb3IgYGdvLXRzLW1vZGUnLiIpCisKKyhkZWZ1biBnby10 cy1tb2RlLS1pbWVudSAoKQorICAiUmV0dXJuIEltZW51IGFsaXN0IGZvciB0aGUgY3VycmVudCBi dWZmZXIuIgorICAobGV0KiAoKG5vZGUgKHRyZWVzaXQtYnVmZmVyLXJvb3Qtbm9kZSkpCisgICAg ICAgICAoZnVuYy10cmVlICh0cmVlc2l0LWluZHVjZS1zcGFyc2UtdHJlZQorICAgICAgICAgICAg ICAgICAgICAgbm9kZSAiZnVuY3Rpb25fZGVjbGFyYXRpb24iIG5pbCAxMDAwKSkKKyAgICAgICAg ICh0eXBlLXRyZWUgKHRyZWVzaXQtaW5kdWNlLXNwYXJzZS10cmVlCisgICAgICAgICAgICAgICAg ICAgICBub2RlICJ0eXBlX3NwZWMiIG5pbCAxMDAwKSkKKyAgICAgICAgIChmdW5jLWluZGV4IChn by10cy1tb2RlLS1pbWVudS0xIGZ1bmMtdHJlZSkpCisgICAgICAgICAodHlwZS1pbmRleCAoZ28t dHMtbW9kZS0taW1lbnUtMSB0eXBlLXRyZWUpKSkKKyAgICAoYXBwZW5kCisgICAgICh3aGVuIGZ1 bmMtaW5kZXggYCgoIkZ1bmN0aW9uIiAuICxmdW5jLWluZGV4KSkpCisgICAgICh3aGVuIHR5cGUt aW5kZXggYCgoIlR5cGUiIC4gLHR5cGUtaW5kZXgpKSkpKSkKKworKGRlZnVuIGdvLXRzLW1vZGUt LWltZW51LTEgKG5vZGUpCisgICJIZWxwZXIgZm9yIGBnby10cy1tb2RlLS1pbWVudScuCitGaW5k IHN0cmluZyByZXByZXNlbnRhdGlvbiBmb3IgTk9ERSBhbmQgc2V0IG1hcmtlciwgdGhlbiByZWN1 cnNlCit0aGUgc3VidHJlZXMuIgorICAobGV0KiAoKHRzLW5vZGUgKGNhciBub2RlKSkKKyAgICAg ICAgIChjaGlsZHJlbiAoY2RyIG5vZGUpKQorICAgICAgICAgKHN1YnRyZWVzIChtYXBjYW4gIydn by10cy1tb2RlLS1pbWVudS0xCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbikp CisgICAgICAgICAobmFtZSAod2hlbiB0cy1ub2RlCisgICAgICAgICAgICAgICAgICh0cmVlc2l0 LW5vZGUtdGV4dAorICAgICAgICAgICAgICAgICAgKHBjYXNlICh0cmVlc2l0LW5vZGUtdHlwZSB0 cy1ub2RlKQorICAgICAgICAgICAgICAgICAgICAoImZ1bmN0aW9uX2RlY2xhcmF0aW9uIgorICAg ICAgICAgICAgICAgICAgICAgKHRyZWVzaXQtbm9kZS1jaGlsZC1ieS1maWVsZC1uYW1lIHRzLW5v ZGUgIm5hbWUiKSkKKyAgICAgICAgICAgICAgICAgICAgKCJ0eXBlX3NwZWMiCisgICAgICAgICAg ICAgICAgICAgICAodHJlZXNpdC1ub2RlLWNoaWxkLWJ5LWZpZWxkLW5hbWUgdHMtbm9kZSAibmFt ZSIpKSkpKSkKKyAgICAgICAgIChtYXJrZXIgKHdoZW4gdHMtbm9kZQorICAgICAgICAgICAgICAg ICAgIChzZXQtbWFya2VyIChtYWtlLW1hcmtlcikKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAodHJlZXNpdC1ub2RlLXN0YXJ0IHRzLW5vZGUpKSkpKQorICAgIChjb25kCisgICAgICgo b3IgKG51bGwgdHMtbm9kZSkgKG51bGwgbmFtZSkpIHN1YnRyZWVzKQorICAgICAoc3VidHJlZXMK KyAgICAgIGAoKCxuYW1lICwoY29ucyBuYW1lIG1hcmtlcikgLEBzdWJ0cmVlcykpKQorICAgICAo dAorICAgICAgYCgoLG5hbWUgLiAsbWFya2VyKSkpKSkpCisKKzs7OyMjI2F1dG9sb2FkCisoYWRk LXRvLWxpc3QgJ2F1dG8tbW9kZS1hbGlzdCAnKCJcXC5nb1xcJyIgLiBnby10cy1tb2RlKSkKKwor Ozs7IyMjYXV0b2xvYWQKKyhkZWZpbmUtZGVyaXZlZC1tb2RlIGdvLXRzLW1vZGUgcHJvZy1tb2Rl ICJHbyIKKyAgIk1ham9yIG1vZGUgZm9yIGVkaXRpbmcgR28sIHBvd2VyZWQgYnkgdHJlZS1zaXR0 ZXIuIgorICA6Z3JvdXAgJ2dvCisgIDpzeW50YXgtdGFibGUgZ28tdHMtbW9kZS0tc3ludGF4LXRh YmxlCisKKyAgKHdoZW4gKHRyZWVzaXQtcmVhZHktcCAnZ28pCisgICAgKHRyZWVzaXQtcGFyc2Vy LWNyZWF0ZSAnZ28pCisKKyAgICA7OyBDb21tZW50cy4KKyAgICAoc2V0cS1sb2NhbCBjb21tZW50 LXN0YXJ0ICIvLyAiKQorICAgIChzZXRxLWxvY2FsIGNvbW1lbnQtZW5kICIiKQorICAgIChzZXRx LWxvY2FsIGNvbW1lbnQtc3RhcnQtc2tpcCAocnggIi8vIiAoKiAoc3ludGF4IHdoaXRlc3BhY2Up KSkpCisKKyAgICA7OyBJbWVudS4KKyAgICAoc2V0cS1sb2NhbCBpbWVudS1jcmVhdGUtaW5kZXgt ZnVuY3Rpb24gIydnby10cy1tb2RlLS1pbWVudSkKKyAgICAoc2V0cS1sb2NhbCB3aGljaC1mdW5j LWZ1bmN0aW9ucyBuaWwpCisKKyAgICA7OyBJbmRlbnQuCisgICAgKHNldHEtbG9jYWwgaW5kZW50 LXRhYnMtbW9kZSB0CisgICAgICAgICAgICAgICAgdHJlZXNpdC1zaW1wbGUtaW5kZW50LXJ1bGVz IGdvLXRzLW1vZGUtLWluZGVudC1ydWxlcykKKworICAgIDs7IEZvbnQtbG9jay4KKyAgICAoc2V0 cS1sb2NhbCB0cmVlc2l0LWZvbnQtbG9jay1zZXR0aW5ncyBnby10cy1tb2RlLS1mb250LWxvY2st c2V0dGluZ3MpCisgICAgKHNldHEtbG9jYWwgdHJlZXNpdC1mb250LWxvY2stZmVhdHVyZS1saXN0 CisgICAgICAgICAgICAgICAgJygoIGNvbW1lbnQpCisgICAgICAgICAgICAgICAgICAoIGtleXdv cmQgc3RyaW5nIHR5cGUpCisgICAgICAgICAgICAgICAgICAoIGNvbnN0YW50IGVzY2FwZS1zZXF1 ZW5jZSBmdW5jdGlvbiBsYWJlbCBudW1iZXIKKyAgICAgICAgICAgICAgICAgICAgcHJvcGVydHkg dmFyaWFibGUpCisgICAgICAgICAgICAgICAgICAoIGJyYWNrZXQgZGVsaW1pdGVyIGVycm9yIG9w ZXJhdG9yKSkpCisKKyAgICAodHJlZXNpdC1tYWpvci1tb2RlLXNldHVwKSkpCisKKzs7IGdvLm1v ZCBzdXBwb3J0LgorCisoZGVmdmFyIGdvLW1vZC10cy1tb2RlLS1zeW50YXgtdGFibGUKKyAgKGxl dCAoKHRhYmxlIChtYWtlLXN5bnRheC10YWJsZSkpKQorICAgIChtb2RpZnktc3ludGF4LWVudHJ5 ID8vICAgIi4gMTI0YiIgdGFibGUpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgP1xuICAiPiBi IiAgICB0YWJsZSkKKyAgICB0YWJsZSkKKyAgIlN5bnRheCB0YWJsZSBmb3IgYGdvLW1vZC10cy1t b2RlJy4iKQorCisoZGVmdmFyIGdvLW1vZC10cy1tb2RlLS1pbmRlbnQtcnVsZXMKKyAgYCgoZ29t b2QKKyAgICAgKChub2RlLWlzICIpIikgcGFyZW50LWJvbCAwKQorICAgICAoKHBhcmVudC1pcyAi ZXhjbHVkZV9kaXJlY3RpdmUiKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkK KyAgICAgKChwYXJlbnQtaXMgIm1vZHVsZV9kaXJlY3RpdmUiKSBwYXJlbnQtYm9sIGdvLXRzLW1v ZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChwYXJlbnQtaXMgInJlcGxhY2VfZGlyZWN0aXZlIikg cGFyZW50LWJvbCBnby10cy1tb2RlLWluZGVudC1vZmZzZXQpCisgICAgICgocGFyZW50LWlzICJy ZXF1aXJlX2RpcmVjdGl2ZSIpIHBhcmVudC1ib2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQor ICAgICAoKHBhcmVudC1pcyAicmV0cmFjdF9kaXJlY3RpdmUiKSBwYXJlbnQtYm9sIGdvLXRzLW1v ZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKG5vLW5vZGUgcGFyZW50LWJvbCAwKSkpCisgICJUcmVl LXNpdHRlciBpbmRlbnQgcnVsZXMgZm9yIGBnby1tb2QtdHMtbW9kZScuIikKKworKGRlZnZhciBn by1tb2QtdHMtbW9kZS0ta2V5d29yZHMKKyAgJygiZXhjbHVkZSIgImdvIiAibW9kdWxlIiAicmVw bGFjZSIgInJlcXVpcmUiICJyZXRyYWN0IikKKyAgImdvLm1vZCBrZXl3b3JkcyBmb3IgdHJlZS1z aXR0ZXIgZm9udC1sb2NraW5nLiIpCisKKyhkZWZ2YXIgZ28tbW9kLXRzLW1vZGUtLWZvbnQtbG9j ay1zZXR0aW5ncworICAodHJlZXNpdC1mb250LWxvY2stcnVsZXMKKyAgIDpsYW5ndWFnZSAnZ29t b2QKKyAgIDpmZWF0dXJlICdicmFja2V0CisgICAnKChbIigiICIpIl0pIEBmb250LWxvY2stYnJh Y2tldC1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvbW9kCisgICA6ZmVhdHVyZSAnY29tbWVudAor ICAgJygoY29tbWVudCkgQGZvbnQtbG9jay1jb21tZW50LWZhY2UpCisKKyAgIDpsYW5ndWFnZSAn Z29tb2QKKyAgIDpmZWF0dXJlICdrZXl3b3JkCisgICBgKFssQGdvLW1vZC10cy1tb2RlLS1rZXl3 b3Jkc10gQGZvbnQtbG9jay1rZXl3b3JkLWZhY2UpCisKKyAgIDpsYW5ndWFnZSAnZ29tb2QKKyAg IDpmZWF0dXJlICdudW1iZXIKKyAgICcoWyhnb192ZXJzaW9uKSAodmVyc2lvbildIEBmb250LWxv Y2stbnVtYmVyLWZhY2UpCisKKyAgIDpsYW5ndWFnZSAnZ29tb2QKKyAgIDpmZWF0dXJlICdvcGVy YXRvcgorICAgJygoWyI9PiJdKSBAZm9udC1sb2NrLW9wZXJhdG9yLWZhY2UpCisKKyAgIDpsYW5n dWFnZSAnZ29tb2QKKyAgIDpmZWF0dXJlICdlcnJvcgorICAgOm92ZXJyaWRlIHQKKyAgICcoKEVS Uk9SKSBAZm9udC1sb2NrLXdhcm5pbmctZmFjZSkpCisgICJUcmVlLXNpdHRlciBmb250LWxvY2sg c2V0dGluZ3MgZm9yIGBnby1tb2QtdHMtbW9kZScuIikKKworOzs7IyMjYXV0b2xvYWQKKyhhZGQt dG8tbGlzdCAnYXV0by1tb2RlLWFsaXN0ICcoIi9nb1xcLm1vZFxcJyIgLiBnby1tb2QtdHMtbW9k ZSkpCisKKzs7OyMjI2F1dG9sb2FkCisoZGVmaW5lLWRlcml2ZWQtbW9kZSBnby1tb2QtdHMtbW9k ZSBwcm9nLW1vZGUgIkdvIE1vZCIKKyAgIk1ham9yIG1vZGUgZm9yIGVkaXRpbmcgZ28ubW9kIGZp bGVzLCBwb3dlcmVkIGJ5IHRyZWUtc2l0dGVyLiIKKyAgOmdyb3VwICdnbworICA6c3ludGF4LXRh YmxlIGdvLW1vZC10cy1tb2RlLS1zeW50YXgtdGFibGUKKworICAod2hlbiAodHJlZXNpdC1yZWFk eS1wICdnb21vZCkKKyAgICAodHJlZXNpdC1wYXJzZXItY3JlYXRlICdnb21vZCkKKworICAgIDs7 IENvbW1lbnRzLgorICAgIChzZXRxLWxvY2FsIGNvbW1lbnQtc3RhcnQgIi8vICIpCisgICAgKHNl dHEtbG9jYWwgY29tbWVudC1lbmQgIiIpCisgICAgKHNldHEtbG9jYWwgY29tbWVudC1zdGFydC1z a2lwIChyeCAiLy8iICgqIChzeW50YXggd2hpdGVzcGFjZSkpKSkKKworICAgIDs7IEluZGVudC4K KyAgICAoc2V0cS1sb2NhbCBpbmRlbnQtdGFicy1tb2RlIHQKKyAgICAgICAgICAgICAgICB0cmVl c2l0LXNpbXBsZS1pbmRlbnQtcnVsZXMgZ28tbW9kLXRzLW1vZGUtLWluZGVudC1ydWxlcykKKwor ICAgIDs7IEZvbnQtbG9jay4KKyAgICAoc2V0cS1sb2NhbCB0cmVlc2l0LWZvbnQtbG9jay1zZXR0 aW5ncyBnby1tb2QtdHMtbW9kZS0tZm9udC1sb2NrLXNldHRpbmdzKQorICAgIChzZXRxLWxvY2Fs IHRyZWVzaXQtZm9udC1sb2NrLWZlYXR1cmUtbGlzdAorICAgICAgICAgICAgICAgICcoKGNvbW1l bnQpCisgICAgICAgICAgICAgICAgICAoa2V5d29yZCkKKyAgICAgICAgICAgICAgICAgIChudW1i ZXIpCisgICAgICAgICAgICAgICAgICAoYnJhY2tldCBlcnJvciBvcGVyYXRvcikpKQorCisgICAg KHRyZWVzaXQtbWFqb3ItbW9kZS1zZXR1cCkpKQorCisocHJvdmlkZSAnZ28tdHMtbW9kZSkKKwor Ozs7IGdvLXRzLW1vZGUuZWwgZW5kcyBoZXJlCi0tIAoyLjM5LjAKCg== --b1_MrFEyTRG10rqEGEdBDgbFifiaflJdfdcqRJ5qvFiLE-- From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 14 16:27:19 2022 Received: (at 60025) by debbugs.gnu.org; 14 Dec 2022 21:27:19 +0000 Received: from localhost ([127.0.0.1]:41882 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5ZHX-0006wZ-WD for submit@debbugs.gnu.org; Wed, 14 Dec 2022 16:27:19 -0500 Received: from out2.migadu.com ([188.165.223.204]:40895) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5ZHR-0006wR-UT for 60025@debbugs.gnu.org; Wed, 14 Dec 2022 16:27:14 -0500 X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thornhill.no; s=key1; t=1671053228; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=f+3kG1LbBWx/25ryn4J9MRbeIXZB9bxaEAhXBrTzZKA=; b=fYHTzTupNYfktJdybI+DcTaLNd9DBpPQG7+6SDxORDONI4RiYx3QFTlIO2ZOVXSQDRbQBb j936PtY4rScDF2CuvK2pdzFzuGdTEyD+t11mOb+t6vRyoXSjM7wdaRvdjFz8bC8m6UTSct XoCi45UXsj34NVykhKAOm/13WbddGacb59udHWP4R3NUsuxp+Ba4WemlhBYXIs8LOtQ+hQ L0Rng6+vlkJ6dx3TLnEaXt1t4EmVYZa+A+v688YJCWnqL3LXKYNHQ6Q0kBeiOI177Gb56A PtFOJCMUn/bRCE+TrbEGO7JdcAy/bNo+xTpqf8rp3g5gA5z1vC03GOhOBWYgsg== From: Theodor Thornhill To: Randy Taylor , Yuan Fu Subject: Re: bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode In-Reply-To: References: <83r0x3pk28.fsf@gnu.org> <83edt2nqgm.fsf@gnu.org> <5HEX4A0JH8fd_VGG1FbzJ8QtBZXlHLKtuAGgc_TUHvzKCzU2Q3PYbbi3rUWeLOBoJzg0qsQgVhwGZCF86A2Xg--I2ep5d1KjKoUoHrxXpqA=@rjt.dev> Date: Wed, 14 Dec 2022 22:27:05 +0100 Message-ID: <87zgbpznfa.fsf@thornhill.no> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 60025 Cc: Eli Zaretskii , 60025@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Randy Taylor writes: > On Wednesday, December 14th, 2022 at 14:55, Yuan Fu w= rote: >>=20 >> > I am having a tiny bit of trouble with a go.mod indentation rule. Usin= g the patch, create a go.mod file anywhere, activate go-mod-ts-mode and add= the following: >> >=20 >> > require () >> >=20 >> > Place point inside the parens, and then hit enter. The expectation is = that point will end up indented inside that block. If you add the text "tes= t v1.0.0" and hit TAB, it will indent properly (and if you hit enter after = that text it will indent properly for the next entry). If you go to the end= of the line for the top paren and hit enter, it will not indent (and we wa= nt it to). It seems to give us no-node in that circumstance. Is there a sim= ple indent rule that can match exactly that that I'm missing? >>=20 >>=20 >> I think you can just test for the parent? In C, if point is at an empty = line after a statement in a block, like this: >>=20 >> int main() { >> return 0; >> | >> } >>=20 >> The matched rule is (parent-is =E2=80=9Ccompond_statement=E2=80=9D), whe= re compound_statement is the block. In your case, I guess you can test if p= arent is the argument list. >>=20 >> Yuan > > I do match for the parent, but it doesn't seem to help. > Here's what tree-sitter explorer shows for the following: > require ( > > ) > > (require_directive require ( \n ) \n) > > If I put point on the line right below r and do C-S-a, tree-sitter explor= er shows: > (require_directive require (*\n ) \n) > The * indicates that part is highlighted. > > The second I make it "proper" like so: > require ( > test v1 > ) > > I can hit TAB and it will indent properly (but not anything above it, onl= y that line and anything below). > > I would think that checking parent-is for require_directive would be enou= gh but it's not somehow??? > It's instead matching my no-node rule... Yeah, I seem to remember seeing these \n nodes in the go-mode I made some time ago. There is no node there, so no-node is the rule that matches, as there is no parent. I believe you can solve it with something like (defun go-backward-up-list () (lambda (node parent bol &rest _) (save-excursion (backward-up-list 1 nil t) (back-to-indentation) (point)))) and use some variant of that. Now you can find a different node without relying on there being a node where you start. But I don't remember exactly. BTW, I tried applying this mode, but it wouldn't apply. Theo From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 14 16:56:40 2022 Received: (at 60025) by debbugs.gnu.org; 14 Dec 2022 21:56:40 +0000 Received: from localhost ([127.0.0.1]:41922 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5Zjz-0007Hz-RQ for submit@debbugs.gnu.org; Wed, 14 Dec 2022 16:56:40 -0500 Received: from mail-4323.proton.ch ([185.70.43.23]:45003) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5Zjw-0007Ht-Ac for 60025@debbugs.gnu.org; Wed, 14 Dec 2022 16:56:39 -0500 Date: Wed, 14 Dec 2022 21:56:17 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rjt.dev; s=protonmail2; t=1671054990; x=1671314190; bh=a3/BKV9hyUybfZwrYhcPcrG4APTlnlXya3sI5WEfk3Q=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=wFeB4fyUpNKPjfu1ArKyLudaZ7aLcP240/ILujNRd2QEabg+6UnM5bTxt2VgY8HZ4 SlkvoyTQP32dStITylvfD5gcCGFT0hp+ZF35uIcdJme/xtjEeegh7ffVo51bETO/KH YioIoTHh01H3U8kTuNBUnDNKcFuA4SqJ4yoY9SJ0W9uQozvBhdkaA5Kkk25SKUI18c OQIvGoqxJ7L0eEcNEg3IHrbLVLBpAhBf1AMnN/dghomi5gLXsOBm/gVJjSzvg/ClY4 2O3m+Lz9eKPIyxaMUsCw35RH8OWBN7q6Mde6jrcjoD36O/lyRmGiZA2p9LkT2X4pQt dFTkwLvoBPbfw== To: Theodor Thornhill From: Randy Taylor Subject: Re: bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode Message-ID: <4Lmj7Bzx_F4C3v5tPsDR71_8aGGtkra5bbe3LAaEOeFId-atND-VDDi0mKRWOFh2gCC4Y902Y2o9oFf5vExl0PIE5IdCaPp2CJqhoUQ0km8=@rjt.dev> In-Reply-To: <87zgbpznfa.fsf@thornhill.no> References: <83r0x3pk28.fsf@gnu.org> <83edt2nqgm.fsf@gnu.org> <5HEX4A0JH8fd_VGG1FbzJ8QtBZXlHLKtuAGgc_TUHvzKCzU2Q3PYbbi3rUWeLOBoJzg0qsQgVhwGZCF86A2Xg--I2ep5d1KjKoUoHrxXpqA=@rjt.dev> <87zgbpznfa.fsf@thornhill.no> Feedback-ID: 44397038:user:proton MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 60025 Cc: Yuan Fu , Eli Zaretskii , 60025@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Wednesday, December 14th, 2022 at 16:27, Theodor Thornhill wrote: >=20 > Randy Taylor dev@rjt.dev writes: >=20 > > On Wednesday, December 14th, 2022 at 14:55, Yuan Fu casouri@gmail.com w= rote: > >=20 > > > > I am having a tiny bit of trouble with a go.mod indentation rule. U= sing the patch, create a go.mod file anywhere, activate go-mod-ts-mode and = add the following: > > > >=20 > > > > require () > > > >=20 > > > > Place point inside the parens, and then hit enter. The expectation = is that point will end up indented inside that block. If you add the text "= test v1.0.0" and hit TAB, it will indent properly (and if you hit enter aft= er that text it will indent properly for the next entry). If you go to the = end of the line for the top paren and hit enter, it will not indent (and we= want it to). It seems to give us no-node in that circumstance. Is there a = simple indent rule that can match exactly that that I'm missing? > > >=20 > > > I think you can just test for the parent? In C, if point is at an emp= ty line after a statement in a block, like this: > > >=20 > > > int main() { > > > return 0; > > > | > > > } > > >=20 > > > The matched rule is (parent-is =E2=80=9Ccompond_statement=E2=80=9D), = where compound_statement is the block. In your case, I guess you can test i= f parent is the argument list. > > >=20 > > > Yuan > >=20 > > I do match for the parent, but it doesn't seem to help. > > Here's what tree-sitter explorer shows for the following: > > require ( > >=20 > > ) > >=20 > > (require_directive require ( \n ) \n) > >=20 > > If I put point on the line right below r and do C-S-a, tree-sitter expl= orer shows: > > (require_directive require (*\n ) \n) > > The * indicates that part is highlighted. > >=20 > > The second I make it "proper" like so: > > require ( > > test v1 > > ) > >=20 > > I can hit TAB and it will indent properly (but not anything above it, o= nly that line and anything below). > >=20 > > I would think that checking parent-is for require_directive would be en= ough but it's not somehow??? > > It's instead matching my no-node rule... >=20 >=20 > Yeah, I seem to remember seeing these \n nodes in the go-mode I made > some time ago. There is no node there, so no-node is the rule that > matches, as there is no parent. I believe you can solve it with > something like >=20 >=20 > (defun go-backward-up-list () > (lambda (node parent bol &rest _) > (save-excursion > (backward-up-list 1 nil t) > (back-to-indentation) > (point)))) >=20 > and use some variant of that. Now you can find a different node without > relying on there being a node where you start. >=20 > But I don't remember exactly. Thanks, I'll give that a try. >=20 > BTW, I tried applying this mode, but it wouldn't apply. Applying the patch? It applies to emacs-29 fine for me, and both modes work= as expected when I try them. What issue(s) are you seeing specifically? From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 14 21:16:17 2022 Received: (at 60025) by debbugs.gnu.org; 15 Dec 2022 02:16:17 +0000 Received: from localhost ([127.0.0.1]:42226 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5dnE-00047J-5T for submit@debbugs.gnu.org; Wed, 14 Dec 2022 21:16:17 -0500 Received: from mail-4022.proton.ch ([185.70.40.22]:16557) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5dnA-00047D-Bj for 60025@debbugs.gnu.org; Wed, 14 Dec 2022 21:16:14 -0500 Date: Thu, 15 Dec 2022 02:15:59 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rjt.dev; s=protonmail2; t=1671070565; x=1671329765; bh=9AFKRRRI3TUOE1SiA1jM9POnT33H0pKnUXOzlNWKcgM=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=Es9S1p3qLZvpYwvFwNOpzqtoEzDOfWp7NYB5UZP1ILKJq8IL1C4LU12u+RDgAUQxx lxKgQMQuPwELWvmGwfXlu7KoScSF/DuF7tBmjw5sNagSPlyIlIIT/P14ARxC8LLga+ DYDUhxmRPEmtlKEYQQ8nl+z2NeHqf0jjaK07jm08v6vdaRLYX7SYMDeaM99OrXTJyL 15f7tIaAOfVFW5kK57kJCD1hBAX1gkqgIVtt8ZF3TBHRfYB4EozXcTDD8WGNXg9pGe WN0hgeuV7tr/vePECnkviJWOLDeGxxvcNLsOCUw7RdYicrIcjlyBuI4IWuMqkofSjM hgLUzhbVPXREg== To: Theodor Thornhill From: Randy Taylor Subject: Re: bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode Message-ID: <7fPZo7wRGoWPnr5djOSL0gsOE-Q15-l2y-INvJ7z5QXOpXmV_ct4soqgJTYtHZ6EReO3ROGRS_VYnKkYNH6j1CghKfMbRXMmanEB-eaANjk=@rjt.dev> In-Reply-To: <87zgbpznfa.fsf@thornhill.no> References: <83r0x3pk28.fsf@gnu.org> <83edt2nqgm.fsf@gnu.org> <5HEX4A0JH8fd_VGG1FbzJ8QtBZXlHLKtuAGgc_TUHvzKCzU2Q3PYbbi3rUWeLOBoJzg0qsQgVhwGZCF86A2Xg--I2ep5d1KjKoUoHrxXpqA=@rjt.dev> <87zgbpznfa.fsf@thornhill.no> Feedback-ID: 44397038:user:proton MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_olodaSsU63KZTZNyMeelRBAheWP97wlkspAj5nXaAH4" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 60025 Cc: Yuan Fu , Eli Zaretskii , 60025@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --b1_olodaSsU63KZTZNyMeelRBAheWP97wlkspAj5nXaAH4 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On Wednesday, December 14th, 2022 at 16:27, Theodor Thornhill wrote: >=20 > Yeah, I seem to remember seeing these \n nodes in the go-mode I made > some time ago. There is no node there, so no-node is the rule that > matches, as there is no parent. I believe you can solve it with > something like >=20 >=20 > (defun go-backward-up-list () > (lambda (node parent bol &rest _) > (save-excursion > (backward-up-list 1 nil t) > (back-to-indentation) > (point)))) >=20 > and use some variant of that. Now you can find a different node without > relying on there being a node where you start. Thanks Theo, that worked perfectly. We should consider adding something lik= e this to the documentation somewhere, since I didn't see anything like thi= s anywhere (although maybe I missed it). New patch attached with the following changes: - go-mod-ts-mode--indent-rules modified to utilize the new function to chec= k if in a directive, and if so, indent appropriately. - New function go-mod-ts-mode--in-directive-p that checks if we're in a dir= ective. - I'm no elisp guru, so there may (probably) be a better way to do what I= did. Happy to improve it (and the name and docstring, too). Otherwise, feel free to install it. --b1_olodaSsU63KZTZNyMeelRBAheWP97wlkspAj5nXaAH4 Content-Type: text/x-patch; name=0001-Add-go-ts-mode-and-go-mod-ts-mode-Bug-60025.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=0001-Add-go-ts-mode-and-go-mod-ts-mode-Bug-60025.patch RnJvbSAyZjZlYTUyNDNmMzkxOWVjNjMyNTA1NDU5Y2YzZTk0MTdjN2NiN2ZlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSYW5keSBUYXlsb3IgPGRldkByanQuZGV2PgpEYXRlOiBTdW4s IDExIERlYyAyMDIyIDE4OjQxOjE2IC0wNTAwClN1YmplY3Q6IFtQQVRDSF0gQWRkIGdvLXRzLW1v ZGUgYW5kIGdvLW1vZC10cy1tb2RlIChCdWcjNjAwMjUpCgoqIGFkbWluL25vdGVzL3RyZWUtc2l0 dGVyL2J1aWxkLW1vZHVsZS9iYXRjaC5zaDoKKiBhZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9idWls ZC1tb2R1bGUvYnVpbGQuc2g6IEFkZCBnby1tb2Qgc3VwcG9ydC4KKiBldGMvTkVXUzogTWVudGlv biB0aGVtLgoqIGxpc3AvcHJvZ21vZGVzL2VnbG90LmVsIChlZ2xvdC1zZXJ2ZXItcHJvZ3JhbXMp OiBBZGQgdGhlbS4KKiBsaXNwL3Byb2dtb2Rlcy9nby10cy1tb2RlLmVsOiBOZXcgbWFqb3IgbW9k ZXMgd2l0aAp0cmVlLXNpdHRlciBzdXBwb3J0LgotLS0KIGFkbWluL25vdGVzL3RyZWUtc2l0dGVy L2J1aWxkLW1vZHVsZS9iYXRjaC5zaCB8ICAgMSArCiBhZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9i dWlsZC1tb2R1bGUvYnVpbGQuc2ggfCAgIDUgKwogZXRjL05FV1MgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDExICsKIGxpc3AvcHJvZ21vZGVzL2VnbG90LmVsICAgICAg ICAgICAgICAgICAgICAgICB8ICAgMyArLQogbGlzcC9wcm9nbW9kZXMvZ28tdHMtbW9kZS5lbCAg ICAgICAgICAgICAgICAgIHwgMzU0ICsrKysrKysrKysrKysrKysrKwogNSBmaWxlcyBjaGFuZ2Vk LCAzNzMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGxp c3AvcHJvZ21vZGVzL2dvLXRzLW1vZGUuZWwKCmRpZmYgLS1naXQgYS9hZG1pbi9ub3Rlcy90cmVl LXNpdHRlci9idWlsZC1tb2R1bGUvYmF0Y2guc2ggYi9hZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9i dWlsZC1tb2R1bGUvYmF0Y2guc2gKaW5kZXggZTdlZjQ1Y2Y1Ny4uYzUwYjlkZjM3ZSAxMDA3NTUK LS0tIGEvYWRtaW4vbm90ZXMvdHJlZS1zaXR0ZXIvYnVpbGQtbW9kdWxlL2JhdGNoLnNoCisrKyBi L2FkbWluL25vdGVzL3RyZWUtc2l0dGVyL2J1aWxkLW1vZHVsZS9iYXRjaC5zaApAQCAtOSw2ICs5 LDcgQEAgbGFuZ3VhZ2VzPQogICAgICdjLXNoYXJwJwogICAgICdkb2NrZXJmaWxlJwogICAgICdn bycKKyAgICAnZ28tbW9kJwogICAgICdodG1sJwogICAgICdqYXZhc2NyaXB0JwogICAgICdqc29u JwpkaWZmIC0tZ2l0IGEvYWRtaW4vbm90ZXMvdHJlZS1zaXR0ZXIvYnVpbGQtbW9kdWxlL2J1aWxk LnNoIGIvYWRtaW4vbm90ZXMvdHJlZS1zaXR0ZXIvYnVpbGQtbW9kdWxlL2J1aWxkLnNoCmluZGV4 IDQxOTVlYTU4YzMuLjZkMjIxMjdiZDEgMTAwNzU1Ci0tLSBhL2FkbWluL25vdGVzL3RyZWUtc2l0 dGVyL2J1aWxkLW1vZHVsZS9idWlsZC5zaAorKysgYi9hZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9i dWlsZC1tb2R1bGUvYnVpbGQuc2gKQEAgLTI2LDYgKzI2LDExIEBAIGdyYW1tYXJkaXI9CiAgICAg ImNtYWtlIikKICAgICAgICAgb3JnPSJ1eWhhIgogICAgICAgICA7OworICAgICJnby1tb2QiKQor ICAgICAgICAjIFRoZSBwYXJzZXIgaXMgY2FsbGVkICJnb21vZCIuCisgICAgICAgIGxhbmc9Imdv bW9kIgorICAgICAgICBuYW1lc3BhY2U9ImNhbWRlbmNoZWVrIgorICAgICAgICA7OwogICAgICJ0 eXBlc2NyaXB0IikKICAgICAgICAgc291cmNlZGlyPSJ0cmVlLXNpdHRlci10eXBlc2NyaXB0L3R5 cGVzY3JpcHQvc3JjIgogICAgICAgICBncmFtbWFyZGlyPSJ0cmVlLXNpdHRlci10eXBlc2NyaXB0 L3R5cGVzY3JpcHQiCmRpZmYgLS1naXQgYS9ldGMvTkVXUyBiL2V0Yy9ORVdTCmluZGV4IDY2MmMz MTI1ZTAuLmRiOTJiMjI4NGIgMTAwNjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBA IC0zMDY4LDYgKzMwNjgsMTcgQEAgQSBtYWpvciBtb2RlIGJhc2VkIG9uIHRoZSB0cmVlLXNpdHRl ciBsaWJyYXJ5IGZvciBlZGl0aW5nIENNYWtlIGZpbGVzLgogSXQgaW5jbHVkZXMgc3VwcG9ydCBm b3IgZm9udC1sb2NraW5nLCBpbmRlbnRhdGlvbiwgSW1lbnUsIGFuZAogd2hpY2gtZnVuYy4KIAor KiogTmV3IG1ham9yIG1vZGUgJ2dvLXRzLW1vZGUnLgorQSBtYWpvciBtb2RlIGJhc2VkIG9uIHRo ZSB0cmVlLXNpdHRlciBsaWJyYXJ5IGZvciBlZGl0aW5nIHByb2dyYW1zIGluCit0aGUgR28gbGFu Z3VhZ2UuICBJdCBpbmNsdWRlcyBzdXBwb3J0IGZvciBmb250LWxvY2tpbmcsIGluZGVudGF0aW9u LAorSW1lbnUsIGFuZCB3aGljaC1mdW5jLiAgVGhpcyBtb2RlIHdpbGwgYmUgYXV0by1lbmFibGVk IGZvciBmaWxlcyB3aXRoCit0aGUgIi5nbyIgZXh0ZW5zaW9uLgorCisqKiBOZXcgbWFqb3IgbW9k ZSAnZ28tbW9kLXRzLW1vZGUnLgorQSBtYWpvciBtb2RlIGJhc2VkIG9uIHRoZSB0cmVlLXNpdHRl ciBsaWJyYXJ5IGZvciBlZGl0aW5nICJnby5tb2QiCitmaWxlcy4gIEl0IGluY2x1ZGVzIHN1cHBv cnQgZm9yIGZvbnQtbG9ja2luZyBhbmQgaW5kZW50YXRpb24uICBUaGlzCittb2RlIHdpbGwgYmUg YXV0by1lbmFibGVkIGZvciAiZ28ubW9kIiBmaWxlcy4KKwogDAogKiBJbmNvbXBhdGlibGUgTGlz cCBDaGFuZ2VzIGluIEVtYWNzIDI5LjEKIApkaWZmIC0tZ2l0IGEvbGlzcC9wcm9nbW9kZXMvZWds b3QuZWwgYi9saXNwL3Byb2dtb2Rlcy9lZ2xvdC5lbAppbmRleCA5YzVhMzYxZGY3Li4wMmJiNmJi NjY1IDEwMDY0NAotLS0gYS9saXNwL3Byb2dtb2Rlcy9lZ2xvdC5lbAorKysgYi9saXNwL3Byb2dt b2Rlcy9lZ2xvdC5lbApAQCAtMjExLDcgKzIxMSw4IEBAIGVnbG90LXNlcnZlci1wcm9ncmFtcwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZWxtLW1vZGUgLiAoImVsbS1sYW5ndWFn ZS1zZXJ2ZXIiKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1pbnQtbW9kZSAu ICgibWludCIgImxzIikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrb3RsaW4t bW9kZSAuICgia290bGluLWxhbmd1YWdlLXNlcnZlciIpKQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoKGdvLW1vZGUgZ28tZG90LW1vZC1tb2RlIGdvLWRvdC13b3JrLW1vZGUpIC4g KCJnb3BscyIpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKGdvLW1vZGUgZ28t ZG90LW1vZC1tb2RlIGdvLWRvdC13b3JrLW1vZGUgZ28tdHMtbW9kZSBnby1tb2QtdHMtbW9kZSkK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4gKCJnb3BscyIpKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoKFItbW9kZSBlc3Mtci1tb2RlKSAuICgiUiIgIi0tc2xh dmUiICItZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgImxhbmd1YWdlc2VydmVyOjpydW4oKSIpKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoKGphdmEtbW9kZSBqYXZhLXRzLW1vZGUpIC4gKCJqZHRscyIpKQpkaWZmIC0t Z2l0IGEvbGlzcC9wcm9nbW9kZXMvZ28tdHMtbW9kZS5lbCBiL2xpc3AvcHJvZ21vZGVzL2dvLXRz LW1vZGUuZWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uMTI0ZDliMDQ0 YQotLS0gL2Rldi9udWxsCisrKyBiL2xpc3AvcHJvZ21vZGVzL2dvLXRzLW1vZGUuZWwKQEAgLTAs MCArMSwzNTQgQEAKKzs7OyBnby10cy1tb2RlLmVsIC0tLSB0cmVlLXNpdHRlciBzdXBwb3J0IGZv ciBHbyAgLSotIGxleGljYWwtYmluZGluZzogdDsgLSotCisKKzs7IENvcHlyaWdodCAoQykgMjAy MiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKworOzsgQXV0aG9yICAgICA6IFJhbmR5 IFRheWxvciA8ZGV2QHJqdC5kZXY+Cis7OyBNYWludGFpbmVyIDogUmFuZHkgVGF5bG9yIDxkZXZA cmp0LmRldj4KKzs7IENyZWF0ZWQgICAgOiBEZWNlbWJlciAyMDIyCis7OyBLZXl3b3JkcyAgIDog Z28gbGFuZ3VhZ2VzIHRyZWUtc2l0dGVyCisKKzs7IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBF bWFjcy4KKworOzsgR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vciBtb2RpZnkKKzs7IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cis7OyB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorOzsgKGF0 IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworOzsgR05VIEVtYWNzIGlzIGRpc3Ry aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCis7OyBidXQgV0lUSE9V VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorOzsg TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl IHRoZQorOzsgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKwor OzsgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UKKzs7IGFsb25nIHdpdGggR05VIEVtYWNzLiAgSWYgbm90LCBzZWUgPGh0dHBz Oi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKworOzs7IENvbW1lbnRhcnk6Cis7OworCis7Ozsg Q29kZToKKworKHJlcXVpcmUgJ3RyZWVzaXQpCisoZXZhbC13aGVuLWNvbXBpbGUgKHJlcXVpcmUg J3J4KSkKKworKGRlY2xhcmUtZnVuY3Rpb24gdHJlZXNpdC1wYXJzZXItY3JlYXRlICJ0cmVlc2l0 LmMiKQorKGRlY2xhcmUtZnVuY3Rpb24gdHJlZXNpdC1pbmR1Y2Utc3BhcnNlLXRyZWUgInRyZWVz aXQuYyIpCisoZGVjbGFyZS1mdW5jdGlvbiB0cmVlc2l0LW5vZGUtY2hpbGQgInRyZWVzaXQuYyIp CisoZGVjbGFyZS1mdW5jdGlvbiB0cmVlc2l0LW5vZGUtY2hpbGQtYnktZmllbGQtbmFtZSAidHJl ZXNpdC5jIikKKyhkZWNsYXJlLWZ1bmN0aW9uIHRyZWVzaXQtbm9kZS1zdGFydCAidHJlZXNpdC5j IikKKyhkZWNsYXJlLWZ1bmN0aW9uIHRyZWVzaXQtbm9kZS10eXBlICJ0cmVlc2l0LmMiKQorCiso ZGVmY3VzdG9tIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCA0CisgICJOdW1iZXIgb2Ygc3BhY2Vz IGZvciBlYWNoIGluZGVudGF0aW9uIHN0ZXAgaW4gYGdvLXRzLW1vZGUnLiIKKyAgOnZlcnNpb24g IjI5LjEiCisgIDp0eXBlICdpbnRlZ2VyCisgIDpzYWZlICdpbnRlZ2VycAorICA6Z3JvdXAgJ2dv KQorCisoZGVmdmFyIGdvLXRzLW1vZGUtLXN5bnRheC10YWJsZQorICAobGV0ICgodGFibGUgKG1h a2Utc3ludGF4LXRhYmxlKSkpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgPysgICAiLiIgICAg ICB0YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/LSAgICIuIiAgICAgIHRhYmxlKQor ICAgIChtb2RpZnktc3ludGF4LWVudHJ5ID89ICAgIi4iICAgICAgdGFibGUpCisgICAgKG1vZGlm eS1zeW50YXgtZW50cnkgPyUgICAiLiIgICAgICB0YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1l bnRyeSA/JiAgICIuIiAgICAgIHRhYmxlKQorICAgIChtb2RpZnktc3ludGF4LWVudHJ5ID98ICAg Ii4iICAgICAgdGFibGUpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgP14gICAiLiIgICAgICB0 YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/ISAgICIuIiAgICAgIHRhYmxlKQorICAg IChtb2RpZnktc3ludGF4LWVudHJ5ID88ICAgIi4iICAgICAgdGFibGUpCisgICAgKG1vZGlmeS1z eW50YXgtZW50cnkgPz4gICAiLiIgICAgICB0YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRy eSA/XFwgICJcXCIgICAgIHRhYmxlKQorICAgIChtb2RpZnktc3ludGF4LWVudHJ5ID8vICAgIi4g MTI0YiIgdGFibGUpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgPyogICAiLiAyMyIgICB0YWJs ZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/XG4gICI+IGIiICAgIHRhYmxlKQorICAgIHRh YmxlKQorICAiU3ludGF4IHRhYmxlIGZvciBgZ28tdHMtbW9kZScuIikKKworKGRlZnZhciBnby10 cy1tb2RlLS1pbmRlbnQtcnVsZXMKKyAgYCgoZ28KKyAgICAgKChub2RlLWlzICIpIikgcGFyZW50 LWJvbCAwKQorICAgICAoKG5vZGUtaXMgIl0iKSBwYXJlbnQtYm9sIDApCisgICAgICgobm9kZS1p cyAifSIpIHBhcmVudC1ib2wgMCkKKyAgICAgKChub2RlLWlzICJsYWJlbGVkX3N0YXRlbWVudCIp IG5vLWluZGVudCkKKyAgICAgKChwYXJlbnQtaXMgImFyZ3VtZW50X2xpc3QiKSBwYXJlbnQtYm9s IGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChwYXJlbnQtaXMgImJsb2NrIikgcGFy ZW50LWJvbCBnby10cy1tb2RlLWluZGVudC1vZmZzZXQpCisgICAgICgocGFyZW50LWlzICJjb25z dF9kZWNsYXJhdGlvbiIpIHBhcmVudC1ib2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAg ICAoKHBhcmVudC1pcyAiZGVmYXVsdF9jYXNlIikgcGFyZW50LWJvbCBnby10cy1tb2RlLWluZGVu dC1vZmZzZXQpCisgICAgICgocGFyZW50LWlzICJleHByZXNzaW9uX2Nhc2UiKSBwYXJlbnQtYm9s IGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChwYXJlbnQtaXMgImV4cHJlc3Npb25f c3dpdGNoX3N0YXRlbWVudCIpIHBhcmVudC1ib2wgMCkKKyAgICAgKChwYXJlbnQtaXMgImZpZWxk X2RlY2xhcmF0aW9uX2xpc3QiKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkK KyAgICAgKChwYXJlbnQtaXMgImltcG9ydF9zcGVjX2xpc3QiKSBwYXJlbnQtYm9sIGdvLXRzLW1v ZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChwYXJlbnQtaXMgImxhYmVsZWRfc3RhdGVtZW50Iikg cGFyZW50LWJvbCBnby10cy1tb2RlLWluZGVudC1vZmZzZXQpCisgICAgICgocGFyZW50LWlzICJs aXRlcmFsX3ZhbHVlIikgcGFyZW50LWJvbCBnby10cy1tb2RlLWluZGVudC1vZmZzZXQpCisgICAg ICgocGFyZW50LWlzICJ0eXBlX3NwZWMiKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9m ZnNldCkKKyAgICAgKChwYXJlbnQtaXMgInZhcl9kZWNsYXJhdGlvbiIpIHBhcmVudC1ib2wgZ28t dHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAobm8tbm9kZSBwYXJlbnQtYm9sIDApKSkKKyAg IlRyZWUtc2l0dGVyIGluZGVudCBydWxlcyBmb3IgYGdvLXRzLW1vZGUnLiIpCisKKyhkZWZ2YXIg Z28tdHMtbW9kZS0ta2V5d29yZHMKKyAgJygiYnJlYWsiICJjYXNlIiAiY2hhbiIgImNvbnN0IiAi Y29udGludWUiICJkZWZhdWx0IiAiZGVmZXIiICJlbHNlIgorICAgICJmYWxsdGhyb3VnaCIgImZv ciIgImZ1bmMiICJnbyIgImdvdG8iICJpZiIgImltcG9ydCIgImludGVyZmFjZSIgIm1hcCIKKyAg ICAicGFja2FnZSIgInJhbmdlIiAicmV0dXJuIiAic2VsZWN0IiAic3RydWN0IiAic3dpdGNoIiAi dHlwZSIgInZhciIpCisgICJHbyBrZXl3b3JkcyBmb3IgdHJlZS1zaXR0ZXIgZm9udC1sb2NraW5n LiIpCisKKyhkZWZ2YXIgZ28tdHMtbW9kZS0tb3BlcmF0b3JzCisgICcoIisiICImIiAiKz0iICIm PSIgIiYmIiAiPT0iICIhPSIgIi0iICJ8IiAiLT0iICJ8PSIgInx8IiAiPCIgIjw9IgorICAgICIq IiAiXiIgIio9IiAiXj0iICI8LSIgIj4iICI+PSIgIi8iICI8PCIgIi89IiAiPDw9IiAiKysiICI9 IiAiOj0iICIlIgorICAgICI+PiIgIiU9IiAiPj49IiAiLS0iICIhIiAgIi4uLiIgICImXiIgIiZe PSIgIn4iKQorICAiR28gb3BlcmF0b3JzIGZvciB0cmVlLXNpdHRlciBmb250LWxvY2tpbmcuIikK KworKGRlZnZhciBnby10cy1tb2RlLS1mb250LWxvY2stc2V0dGluZ3MKKyAgKHRyZWVzaXQtZm9u dC1sb2NrLXJ1bGVzCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAnYnJhY2tldAorICAg JygoWyIoIiAiKSIgIlsiICJdIiAieyIgIn0iXSkgQGZvbnQtbG9jay1icmFja2V0LWZhY2UpCisK KyAgIDpsYW5ndWFnZSAnZ28KKyAgIDpmZWF0dXJlICdjb21tZW50CisgICAnKChjb21tZW50KSBA Zm9udC1sb2NrLWNvbW1lbnQtZmFjZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUg J2NvbnN0YW50CisgICAnKFsoZmFsc2UpIChpb3RhKSAobmlsKSAodHJ1ZSldIEBmb250LWxvY2st Y29uc3RhbnQtZmFjZQorICAgICAoY29uc3RfZGVjbGFyYXRpb24KKyAgICAgIChjb25zdF9zcGVj IG5hbWU6IChpZGVudGlmaWVyKSBAZm9udC1sb2NrLWNvbnN0YW50LWZhY2UpKSkKKworICAgOmxh bmd1YWdlICdnbworICAgOmZlYXR1cmUgJ2RlbGltaXRlcgorICAgJygoWyIsIiAiLiIgIjsiICI6 Il0pIEBmb250LWxvY2stZGVsaW1pdGVyLWZhY2UpCisKKyAgIDpsYW5ndWFnZSAnZ28KKyAgIDpm ZWF0dXJlICdmdW5jdGlvbgorICAgJygoY2FsbF9leHByZXNzaW9uCisgICAgICBmdW5jdGlvbjog KGlkZW50aWZpZXIpIEBmb250LWxvY2stZnVuY3Rpb24tbmFtZS1mYWNlKQorICAgICAoY2FsbF9l eHByZXNzaW9uCisgICAgICBmdW5jdGlvbjogKHNlbGVjdG9yX2V4cHJlc3Npb24KKyAgICAgICAg ICAgICAgICAgZmllbGQ6IChmaWVsZF9pZGVudGlmaWVyKSBAZm9udC1sb2NrLWZ1bmN0aW9uLW5h bWUtZmFjZSkpCisgICAgIChmdW5jdGlvbl9kZWNsYXJhdGlvbgorICAgICAgbmFtZTogKGlkZW50 aWZpZXIpIEBmb250LWxvY2stZnVuY3Rpb24tbmFtZS1mYWNlKQorICAgICAobWV0aG9kX2RlY2xh cmF0aW9uCisgICAgICBuYW1lOiAoZmllbGRfaWRlbnRpZmllcikgQGZvbnQtbG9jay1mdW5jdGlv bi1uYW1lLWZhY2UpKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAna2V5d29yZAor ICAgYChbLEBnby10cy1tb2RlLS1rZXl3b3Jkc10gQGZvbnQtbG9jay1rZXl3b3JkLWZhY2UpCisK KyAgIDpsYW5ndWFnZSAnZ28KKyAgIDpmZWF0dXJlICdsYWJlbAorICAgJygobGFiZWxfbmFtZSkg QGZvbnQtbG9jay1jb25zdGFudC1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVy ZSAnbnVtYmVyCisgICAnKFsoZmxvYXRfbGl0ZXJhbCkKKyAgICAgIChpbWFnaW5hcnlfbGl0ZXJh bCkKKyAgICAgIChpbnRfbGl0ZXJhbCldIEBmb250LWxvY2stbnVtYmVyLWZhY2UpCisKKyAgIDps YW5ndWFnZSAnZ28KKyAgIDpmZWF0dXJlICdzdHJpbmcKKyAgICcoWyhpbnRlcnByZXRlZF9zdHJp bmdfbGl0ZXJhbCkKKyAgICAgIChyYXdfc3RyaW5nX2xpdGVyYWwpCisgICAgICAocnVuZV9saXRl cmFsKV0gQGZvbnQtbG9jay1zdHJpbmctZmFjZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZl YXR1cmUgJ3R5cGUKKyAgICcoWyhwYWNrYWdlX2lkZW50aWZpZXIpICh0eXBlX2lkZW50aWZpZXIp XSBAZm9udC1sb2NrLXR5cGUtZmFjZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUg J3ZhcmlhYmxlCisgICAnKChpZGVudGlmaWVyKSBAZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFj ZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUgJ2VzY2FwZS1zZXF1ZW5jZQorICAg Om92ZXJyaWRlIHQKKyAgICcoKGVzY2FwZV9zZXF1ZW5jZSkgQGZvbnQtbG9jay1lc2NhcGUtZmFj ZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUgJ3Byb3BlcnR5CisgICA6b3ZlcnJp ZGUgdAorICAgJygoZmllbGRfaWRlbnRpZmllcikgQGZvbnQtbG9jay1wcm9wZXJ0eS1mYWNlCisg ICAgIChrZXllZF9lbGVtZW50IChfIChpZGVudGlmaWVyKSBAZm9udC1sb2NrLXByb3BlcnR5LWZh Y2UpKSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUgJ2Vycm9yCisgICA6b3ZlcnJp ZGUgdAorICAgJygoRVJST1IpIEBmb250LWxvY2std2FybmluZy1mYWNlKSkKKyAgIlRyZWUtc2l0 dGVyIGZvbnQtbG9jayBzZXR0aW5ncyBmb3IgYGdvLXRzLW1vZGUnLiIpCisKKyhkZWZ1biBnby10 cy1tb2RlLS1pbWVudSAoKQorICAiUmV0dXJuIEltZW51IGFsaXN0IGZvciB0aGUgY3VycmVudCBi dWZmZXIuIgorICAobGV0KiAoKG5vZGUgKHRyZWVzaXQtYnVmZmVyLXJvb3Qtbm9kZSkpCisgICAg ICAgICAoZnVuYy10cmVlICh0cmVlc2l0LWluZHVjZS1zcGFyc2UtdHJlZQorICAgICAgICAgICAg ICAgICAgICAgbm9kZSAiZnVuY3Rpb25fZGVjbGFyYXRpb24iIG5pbCAxMDAwKSkKKyAgICAgICAg ICh0eXBlLXRyZWUgKHRyZWVzaXQtaW5kdWNlLXNwYXJzZS10cmVlCisgICAgICAgICAgICAgICAg ICAgICBub2RlICJ0eXBlX3NwZWMiIG5pbCAxMDAwKSkKKyAgICAgICAgIChmdW5jLWluZGV4IChn by10cy1tb2RlLS1pbWVudS0xIGZ1bmMtdHJlZSkpCisgICAgICAgICAodHlwZS1pbmRleCAoZ28t dHMtbW9kZS0taW1lbnUtMSB0eXBlLXRyZWUpKSkKKyAgICAoYXBwZW5kCisgICAgICh3aGVuIGZ1 bmMtaW5kZXggYCgoIkZ1bmN0aW9uIiAuICxmdW5jLWluZGV4KSkpCisgICAgICh3aGVuIHR5cGUt aW5kZXggYCgoIlR5cGUiIC4gLHR5cGUtaW5kZXgpKSkpKSkKKworKGRlZnVuIGdvLXRzLW1vZGUt LWltZW51LTEgKG5vZGUpCisgICJIZWxwZXIgZm9yIGBnby10cy1tb2RlLS1pbWVudScuCitGaW5k IHN0cmluZyByZXByZXNlbnRhdGlvbiBmb3IgTk9ERSBhbmQgc2V0IG1hcmtlciwgdGhlbiByZWN1 cnNlCit0aGUgc3VidHJlZXMuIgorICAobGV0KiAoKHRzLW5vZGUgKGNhciBub2RlKSkKKyAgICAg ICAgIChjaGlsZHJlbiAoY2RyIG5vZGUpKQorICAgICAgICAgKHN1YnRyZWVzIChtYXBjYW4gIydn by10cy1tb2RlLS1pbWVudS0xCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbikp CisgICAgICAgICAobmFtZSAod2hlbiB0cy1ub2RlCisgICAgICAgICAgICAgICAgICh0cmVlc2l0 LW5vZGUtdGV4dAorICAgICAgICAgICAgICAgICAgKHBjYXNlICh0cmVlc2l0LW5vZGUtdHlwZSB0 cy1ub2RlKQorICAgICAgICAgICAgICAgICAgICAoImZ1bmN0aW9uX2RlY2xhcmF0aW9uIgorICAg ICAgICAgICAgICAgICAgICAgKHRyZWVzaXQtbm9kZS1jaGlsZC1ieS1maWVsZC1uYW1lIHRzLW5v ZGUgIm5hbWUiKSkKKyAgICAgICAgICAgICAgICAgICAgKCJ0eXBlX3NwZWMiCisgICAgICAgICAg ICAgICAgICAgICAodHJlZXNpdC1ub2RlLWNoaWxkLWJ5LWZpZWxkLW5hbWUgdHMtbm9kZSAibmFt ZSIpKSkpKSkKKyAgICAgICAgIChtYXJrZXIgKHdoZW4gdHMtbm9kZQorICAgICAgICAgICAgICAg ICAgIChzZXQtbWFya2VyIChtYWtlLW1hcmtlcikKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAodHJlZXNpdC1ub2RlLXN0YXJ0IHRzLW5vZGUpKSkpKQorICAgIChjb25kCisgICAgICgo b3IgKG51bGwgdHMtbm9kZSkgKG51bGwgbmFtZSkpIHN1YnRyZWVzKQorICAgICAoc3VidHJlZXMK KyAgICAgIGAoKCxuYW1lICwoY29ucyBuYW1lIG1hcmtlcikgLEBzdWJ0cmVlcykpKQorICAgICAo dAorICAgICAgYCgoLG5hbWUgLiAsbWFya2VyKSkpKSkpCisKKzs7OyMjI2F1dG9sb2FkCisoYWRk LXRvLWxpc3QgJ2F1dG8tbW9kZS1hbGlzdCAnKCJcXC5nb1xcJyIgLiBnby10cy1tb2RlKSkKKwor Ozs7IyMjYXV0b2xvYWQKKyhkZWZpbmUtZGVyaXZlZC1tb2RlIGdvLXRzLW1vZGUgcHJvZy1tb2Rl ICJHbyIKKyAgIk1ham9yIG1vZGUgZm9yIGVkaXRpbmcgR28sIHBvd2VyZWQgYnkgdHJlZS1zaXR0 ZXIuIgorICA6Z3JvdXAgJ2dvCisgIDpzeW50YXgtdGFibGUgZ28tdHMtbW9kZS0tc3ludGF4LXRh YmxlCisKKyAgKHdoZW4gKHRyZWVzaXQtcmVhZHktcCAnZ28pCisgICAgKHRyZWVzaXQtcGFyc2Vy LWNyZWF0ZSAnZ28pCisKKyAgICA7OyBDb21tZW50cy4KKyAgICAoc2V0cS1sb2NhbCBjb21tZW50 LXN0YXJ0ICIvLyAiKQorICAgIChzZXRxLWxvY2FsIGNvbW1lbnQtZW5kICIiKQorICAgIChzZXRx LWxvY2FsIGNvbW1lbnQtc3RhcnQtc2tpcCAocnggIi8vIiAoKiAoc3ludGF4IHdoaXRlc3BhY2Up KSkpCisKKyAgICA7OyBJbWVudS4KKyAgICAoc2V0cS1sb2NhbCBpbWVudS1jcmVhdGUtaW5kZXgt ZnVuY3Rpb24gIydnby10cy1tb2RlLS1pbWVudSkKKyAgICAoc2V0cS1sb2NhbCB3aGljaC1mdW5j LWZ1bmN0aW9ucyBuaWwpCisKKyAgICA7OyBJbmRlbnQuCisgICAgKHNldHEtbG9jYWwgaW5kZW50 LXRhYnMtbW9kZSB0CisgICAgICAgICAgICAgICAgdHJlZXNpdC1zaW1wbGUtaW5kZW50LXJ1bGVz IGdvLXRzLW1vZGUtLWluZGVudC1ydWxlcykKKworICAgIDs7IEZvbnQtbG9jay4KKyAgICAoc2V0 cS1sb2NhbCB0cmVlc2l0LWZvbnQtbG9jay1zZXR0aW5ncyBnby10cy1tb2RlLS1mb250LWxvY2st c2V0dGluZ3MpCisgICAgKHNldHEtbG9jYWwgdHJlZXNpdC1mb250LWxvY2stZmVhdHVyZS1saXN0 CisgICAgICAgICAgICAgICAgJygoIGNvbW1lbnQpCisgICAgICAgICAgICAgICAgICAoIGtleXdv cmQgc3RyaW5nIHR5cGUpCisgICAgICAgICAgICAgICAgICAoIGNvbnN0YW50IGVzY2FwZS1zZXF1 ZW5jZSBmdW5jdGlvbiBsYWJlbCBudW1iZXIKKyAgICAgICAgICAgICAgICAgICAgcHJvcGVydHkg dmFyaWFibGUpCisgICAgICAgICAgICAgICAgICAoIGJyYWNrZXQgZGVsaW1pdGVyIGVycm9yIG9w ZXJhdG9yKSkpCisKKyAgICAodHJlZXNpdC1tYWpvci1tb2RlLXNldHVwKSkpCisKKzs7IGdvLm1v ZCBzdXBwb3J0LgorCisoZGVmdmFyIGdvLW1vZC10cy1tb2RlLS1zeW50YXgtdGFibGUKKyAgKGxl dCAoKHRhYmxlIChtYWtlLXN5bnRheC10YWJsZSkpKQorICAgIChtb2RpZnktc3ludGF4LWVudHJ5 ID8vICAgIi4gMTI0YiIgdGFibGUpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgP1xuICAiPiBi IiAgICB0YWJsZSkKKyAgICB0YWJsZSkKKyAgIlN5bnRheCB0YWJsZSBmb3IgYGdvLW1vZC10cy1t b2RlJy4iKQorCisoZGVmdmFyIGdvLW1vZC10cy1tb2RlLS1pbmRlbnQtcnVsZXMKKyAgYCgoZ29t b2QKKyAgICAgKChub2RlLWlzICIpIikgcGFyZW50LWJvbCAwKQorICAgICAoKHBhcmVudC1pcyAi ZXhjbHVkZV9kaXJlY3RpdmUiKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkK KyAgICAgKChwYXJlbnQtaXMgIm1vZHVsZV9kaXJlY3RpdmUiKSBwYXJlbnQtYm9sIGdvLXRzLW1v ZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChwYXJlbnQtaXMgInJlcGxhY2VfZGlyZWN0aXZlIikg cGFyZW50LWJvbCBnby10cy1tb2RlLWluZGVudC1vZmZzZXQpCisgICAgICgocGFyZW50LWlzICJy ZXF1aXJlX2RpcmVjdGl2ZSIpIHBhcmVudC1ib2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQor ICAgICAoKHBhcmVudC1pcyAicmV0cmFjdF9kaXJlY3RpdmUiKSBwYXJlbnQtYm9sIGdvLXRzLW1v ZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChnby1tb2QtdHMtbW9kZS0taW4tZGlyZWN0aXZlLXAp IG5vLWluZGVudCBnby10cy1tb2RlLWluZGVudC1vZmZzZXQpCisgICAgIChuby1ub2RlIG5vLWlu ZGVudCAwKSkpCisgICJUcmVlLXNpdHRlciBpbmRlbnQgcnVsZXMgZm9yIGBnby1tb2QtdHMtbW9k ZScuIikKKworKGRlZnVuIGdvLW1vZC10cy1tb2RlLS1pbi1kaXJlY3RpdmUtcCAoKQorICAiUmV0 dXJuIG5vbi1uaWwgaWYgaW5zaWRlIGEgZGlyZWN0aXZlLgorV2hlbiBlbnRlcmluZyBhbiBlbXB0 eSBkaXJlY3RpdmUgb3IgYWRkaW5nIGEgbmV3IGVudHJ5IHRvIG9uZSwgbm8gbm9kZQord2lsbCBi ZSBwcmVzZW50IG1lYW5pbmcgbm9uZSBvZiB0aGUgaW5kZW50YXRpb24gcnVsZXMgd2lsbCBtYXRj aCwKK2JlY2F1c2UgdGhlcmUgaXMgbm8gcGFyZW50IHRvIG1hdGNoIGFnYWluc3QuICBUaGlzIGZ1 bmN0aW9uIGRldGVybWluZXMKK3doYXQgdGhlIHBhcmVudCBvZiB0aGUgbm9kZSB3b3VsZCBiZSBp ZiBpdCB3ZXJlIGEgbm9kZS4iCisgIChsYW1iZGEgKG5vZGUgXyBfICZyZXN0IF8pCisgICAgKHVu bGVzcyAodHJlZXNpdC1ub2RlLXR5cGUgbm9kZSkKKyAgICAgIChzYXZlLWV4Y3Vyc2lvbgorICAg ICAgICAoYmFja3dhcmQtdXAtbGlzdCkKKyAgICAgICAgKGJhY2stdG8taW5kZW50YXRpb24pCisg ICAgICAgIChwY2FzZSAodHJlZXNpdC1ub2RlLXR5cGUgKHRyZWVzaXQtbm9kZS1hdCAocG9pbnQp KSkKKyAgICAgICAgICAoImV4Y2x1ZGUiIHQpCisgICAgICAgICAgKCJtb2R1bGUiIHQpCisgICAg ICAgICAgKCJyZXBsYWNlIiB0KQorICAgICAgICAgICgicmVxdWlyZSIgdCkKKyAgICAgICAgICAo InJldHJhY3QiIHQpKSkpKSkKKworKGRlZnZhciBnby1tb2QtdHMtbW9kZS0ta2V5d29yZHMKKyAg JygiZXhjbHVkZSIgImdvIiAibW9kdWxlIiAicmVwbGFjZSIgInJlcXVpcmUiICJyZXRyYWN0IikK KyAgImdvLm1vZCBrZXl3b3JkcyBmb3IgdHJlZS1zaXR0ZXIgZm9udC1sb2NraW5nLiIpCisKKyhk ZWZ2YXIgZ28tbW9kLXRzLW1vZGUtLWZvbnQtbG9jay1zZXR0aW5ncworICAodHJlZXNpdC1mb250 LWxvY2stcnVsZXMKKyAgIDpsYW5ndWFnZSAnZ29tb2QKKyAgIDpmZWF0dXJlICdicmFja2V0Cisg ICAnKChbIigiICIpIl0pIEBmb250LWxvY2stYnJhY2tldC1mYWNlKQorCisgICA6bGFuZ3VhZ2Ug J2dvbW9kCisgICA6ZmVhdHVyZSAnY29tbWVudAorICAgJygoY29tbWVudCkgQGZvbnQtbG9jay1j b21tZW50LWZhY2UpCisKKyAgIDpsYW5ndWFnZSAnZ29tb2QKKyAgIDpmZWF0dXJlICdrZXl3b3Jk CisgICBgKFssQGdvLW1vZC10cy1tb2RlLS1rZXl3b3Jkc10gQGZvbnQtbG9jay1rZXl3b3JkLWZh Y2UpCisKKyAgIDpsYW5ndWFnZSAnZ29tb2QKKyAgIDpmZWF0dXJlICdudW1iZXIKKyAgICcoWyhn b192ZXJzaW9uKSAodmVyc2lvbildIEBmb250LWxvY2stbnVtYmVyLWZhY2UpCisKKyAgIDpsYW5n dWFnZSAnZ29tb2QKKyAgIDpmZWF0dXJlICdvcGVyYXRvcgorICAgJygoWyI9PiJdKSBAZm9udC1s b2NrLW9wZXJhdG9yLWZhY2UpCisKKyAgIDpsYW5ndWFnZSAnZ29tb2QKKyAgIDpmZWF0dXJlICdl cnJvcgorICAgOm92ZXJyaWRlIHQKKyAgICcoKEVSUk9SKSBAZm9udC1sb2NrLXdhcm5pbmctZmFj ZSkpCisgICJUcmVlLXNpdHRlciBmb250LWxvY2sgc2V0dGluZ3MgZm9yIGBnby1tb2QtdHMtbW9k ZScuIikKKworOzs7IyMjYXV0b2xvYWQKKyhhZGQtdG8tbGlzdCAnYXV0by1tb2RlLWFsaXN0ICco Ii9nb1xcLm1vZFxcJyIgLiBnby1tb2QtdHMtbW9kZSkpCisKKzs7OyMjI2F1dG9sb2FkCisoZGVm aW5lLWRlcml2ZWQtbW9kZSBnby1tb2QtdHMtbW9kZSBwcm9nLW1vZGUgIkdvIE1vZCIKKyAgIk1h am9yIG1vZGUgZm9yIGVkaXRpbmcgZ28ubW9kIGZpbGVzLCBwb3dlcmVkIGJ5IHRyZWUtc2l0dGVy LiIKKyAgOmdyb3VwICdnbworICA6c3ludGF4LXRhYmxlIGdvLW1vZC10cy1tb2RlLS1zeW50YXgt dGFibGUKKworICAod2hlbiAodHJlZXNpdC1yZWFkeS1wICdnb21vZCkKKyAgICAodHJlZXNpdC1w YXJzZXItY3JlYXRlICdnb21vZCkKKworICAgIDs7IENvbW1lbnRzLgorICAgIChzZXRxLWxvY2Fs IGNvbW1lbnQtc3RhcnQgIi8vICIpCisgICAgKHNldHEtbG9jYWwgY29tbWVudC1lbmQgIiIpCisg ICAgKHNldHEtbG9jYWwgY29tbWVudC1zdGFydC1za2lwIChyeCAiLy8iICgqIChzeW50YXggd2hp dGVzcGFjZSkpKSkKKworICAgIDs7IEluZGVudC4KKyAgICAoc2V0cS1sb2NhbCBpbmRlbnQtdGFi cy1tb2RlIHQKKyAgICAgICAgICAgICAgICB0cmVlc2l0LXNpbXBsZS1pbmRlbnQtcnVsZXMgZ28t bW9kLXRzLW1vZGUtLWluZGVudC1ydWxlcykKKworICAgIDs7IEZvbnQtbG9jay4KKyAgICAoc2V0 cS1sb2NhbCB0cmVlc2l0LWZvbnQtbG9jay1zZXR0aW5ncyBnby1tb2QtdHMtbW9kZS0tZm9udC1s b2NrLXNldHRpbmdzKQorICAgIChzZXRxLWxvY2FsIHRyZWVzaXQtZm9udC1sb2NrLWZlYXR1cmUt bGlzdAorICAgICAgICAgICAgICAgICcoKGNvbW1lbnQpCisgICAgICAgICAgICAgICAgICAoa2V5 d29yZCkKKyAgICAgICAgICAgICAgICAgIChudW1iZXIpCisgICAgICAgICAgICAgICAgICAoYnJh Y2tldCBlcnJvciBvcGVyYXRvcikpKQorCisgICAgKHRyZWVzaXQtbWFqb3ItbW9kZS1zZXR1cCkp KQorCisocHJvdmlkZSAnZ28tdHMtbW9kZSkKKworOzs7IGdvLXRzLW1vZGUuZWwgZW5kcyBoZXJl Ci0tIAoyLjM5LjAKCg== --b1_olodaSsU63KZTZNyMeelRBAheWP97wlkspAj5nXaAH4-- From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 15 02:20:53 2022 Received: (at 60025) by debbugs.gnu.org; 15 Dec 2022 07:20:53 +0000 Received: from localhost ([127.0.0.1]:42433 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5iY0-0007Yd-R3 for submit@debbugs.gnu.org; Thu, 15 Dec 2022 02:20:53 -0500 Received: from out-203.mta0.migadu.com ([91.218.175.203]:21174) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5iXx-0007YW-QV for 60025@debbugs.gnu.org; Thu, 15 Dec 2022 02:20:51 -0500 X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thornhill.no; s=key1; t=1671088848; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Y2a/FmIAUa6gYE8+ohMtGU215o0BPSo54IsHw2gPH1I=; b=XTXqqkRm4c8sDciOw2oWbMNZ5cVHg/vXyZYx50XygHemhBSQxlM2XsiKkUKf14U5Uf3SWk bn7tjh8C7sTZB/yZxjAEnI2Qj/DttwMNAlr9ifdTKPELKXABvtt7ctdx8mHM24lO6/Xmj1 0BW3MLf18b9aaPhxVBGVwej/+jQnIaWNb9YN5/Jy5qDNuqVnLgGG60cOaoeXejrm5KR3eZ dJWRFzlyc2wlvrVtJOV76cH7augnZ6oBN/7kr3ZlJp3XRn6umQ4TO+fVx4X5lQbD2akXwP o28hnqMZ9BSKFYBxf4Ap24OWIoQ2c+P6bhG8gbF/My6KlCjI3XkQ1MNEX4aiVA== From: Theodor Thornhill To: Randy Taylor Subject: Re: bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode In-Reply-To: <7fPZo7wRGoWPnr5djOSL0gsOE-Q15-l2y-INvJ7z5QXOpXmV_ct4soqgJTYtHZ6EReO3ROGRS_VYnKkYNH6j1CghKfMbRXMmanEB-eaANjk=@rjt.dev> References: <83r0x3pk28.fsf@gnu.org> <83edt2nqgm.fsf@gnu.org> <5HEX4A0JH8fd_VGG1FbzJ8QtBZXlHLKtuAGgc_TUHvzKCzU2Q3PYbbi3rUWeLOBoJzg0qsQgVhwGZCF86A2Xg--I2ep5d1KjKoUoHrxXpqA=@rjt.dev> <87zgbpznfa.fsf@thornhill.no> <7fPZo7wRGoWPnr5djOSL0gsOE-Q15-l2y-INvJ7z5QXOpXmV_ct4soqgJTYtHZ6EReO3ROGRS_VYnKkYNH6j1CghKfMbRXMmanEB-eaANjk=@rjt.dev> Date: Thu, 15 Dec 2022 08:20:46 +0100 Message-ID: <87y1r9w2sx.fsf@thornhill.no> MIME-Version: 1.0 Content-Type: text/plain X-Migadu-Flow: FLOW_OUT X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 60025 Cc: Yuan Fu , Eli Zaretskii , 60025@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Randy Taylor writes: > On Wednesday, December 14th, 2022 at 16:27, Theodor Thornhill wrote: >> >> Yeah, I seem to remember seeing these \n nodes in the go-mode I made >> some time ago. There is no node there, so no-node is the rule that >> matches, as there is no parent. I believe you can solve it with >> something like >> >> >> (defun go-backward-up-list () >> (lambda (node parent bol &rest _) >> (save-excursion >> (backward-up-list 1 nil t) >> (back-to-indentation) >> (point)))) >> >> and use some variant of that. Now you can find a different node without >> relying on there being a node where you start. > > Thanks Theo, that worked perfectly. We should consider adding > something like this to the documentation somewhere, since I didn't see > anything like this anywhere (although maybe I missed it). I'm glad! Could be part of a tips and tricks or something? [...] > +(defvar go-ts-mode--indent-rules > + `((go > + ((node-is ")") parent-bol 0) > + ((node-is "]") parent-bol 0) > + ((node-is "}") parent-bol 0) > + ((node-is "labeled_statement") no-indent) > + ((parent-is "argument_list") parent-bol go-ts-mode-indent-offset) > + ((parent-is "block") parent-bol go-ts-mode-indent-offset) > + ((parent-is "const_declaration") parent-bol go-ts-mode-indent-offset) > + ((parent-is "default_case") parent-bol go-ts-mode-indent-offset) > + ((parent-is "expression_case") parent-bol go-ts-mode-indent-offset) > + ((parent-is "expression_switch_statement") parent-bol 0) > + ((parent-is "field_declaration_list") parent-bol go-ts-mode-indent-offset) > + ((parent-is "import_spec_list") parent-bol go-ts-mode-indent-offset) > + ((parent-is "labeled_statement") parent-bol go-ts-mode-indent-offset) > + ((parent-is "literal_value") parent-bol go-ts-mode-indent-offset) > + ((parent-is "type_spec") parent-bol go-ts-mode-indent-offset) > + ((parent-is "var_declaration") parent-bol go-ts-mode-indent-offset) > + (no-node parent-bol 0))) > + "Tree-sitter indent rules for `go-ts-mode'.") No rules for comment? [...] > +;; go.mod support. > + > +(defvar go-mod-ts-mode--syntax-table > + (let ((table (make-syntax-table))) > + (modify-syntax-entry ?/ ". 124b" table) > + (modify-syntax-entry ?\n "> b" table) > + table) > + "Syntax table for `go-mod-ts-mode'.") > + > +(defvar go-mod-ts-mode--indent-rules > + `((gomod > + ((node-is ")") parent-bol 0) > + ((parent-is "exclude_directive") parent-bol go-ts-mode-indent-offset) > + ((parent-is "module_directive") parent-bol go-ts-mode-indent-offset) > + ((parent-is "replace_directive") parent-bol go-ts-mode-indent-offset) > + ((parent-is "require_directive") parent-bol go-ts-mode-indent-offset) > + ((parent-is "retract_directive") parent-bol go-ts-mode-indent-offset) > + ((go-mod-ts-mode--in-directive-p) no-indent go-ts-mode-indent-offset) > + (no-node no-indent 0))) > + "Tree-sitter indent rules for `go-mod-ts-mode'.") No rules for comment here either? Theo From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 15 11:41:14 2022 Received: (at 60025) by debbugs.gnu.org; 15 Dec 2022 16:41:14 +0000 Received: from localhost ([127.0.0.1]:43656 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5rIH-0008Ri-QI for submit@debbugs.gnu.org; Thu, 15 Dec 2022 11:41:14 -0500 Received: from mail-4317.proton.ch ([185.70.43.17]:38151) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5rIE-0008Ra-9n for 60025@debbugs.gnu.org; Thu, 15 Dec 2022 11:41:13 -0500 Date: Thu, 15 Dec 2022 16:40:54 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rjt.dev; s=protonmail2; t=1671122463; x=1671381663; bh=TWRjgA/PjpysW2gykp1GyITiFNGgrZzyjqQiIU3bRcE=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=NZIYRIfjxNJITMgAcgbzHCWM8Solj7LPXnXq3mb/dAZf9yB/f7QnOHbuuqbCFT9n3 lVfq6+LpRhkgSHKebhLRw197JssS7cZrxyLrD9yyUqbBXqV0cUcfJKFKVgBKGsHCPf 2xjhLZNJCcZRVrHPyO331OTRrj+H7fhopNY3qglCVYcLTpirn4DNhmAA4RCB5RRS6L 47rmWqDxqdz49fDiA4wpkkfQUoi/zgaEJBeEGag/iOlERMfkWGzuQjSoPrg/EKn1IQ EClErneD95JmmaLGiMDtfvCLag51X7J2s8CPr0p28foq3H9x35WMZpOayjCO5wPY35 XeS2pzdyzb4og== To: Theodor Thornhill From: Randy Taylor Subject: Re: bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode Message-ID: In-Reply-To: <87y1r9w2sx.fsf@thornhill.no> References: <83r0x3pk28.fsf@gnu.org> <83edt2nqgm.fsf@gnu.org> <5HEX4A0JH8fd_VGG1FbzJ8QtBZXlHLKtuAGgc_TUHvzKCzU2Q3PYbbi3rUWeLOBoJzg0qsQgVhwGZCF86A2Xg--I2ep5d1KjKoUoHrxXpqA=@rjt.dev> <87zgbpznfa.fsf@thornhill.no> <7fPZo7wRGoWPnr5djOSL0gsOE-Q15-l2y-INvJ7z5QXOpXmV_ct4soqgJTYtHZ6EReO3ROGRS_VYnKkYNH6j1CghKfMbRXMmanEB-eaANjk=@rjt.dev> <87y1r9w2sx.fsf@thornhill.no> Feedback-ID: 44397038:user:proton MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_MKDDJSwkPFUCdwYH2Phe2JBLXMGCenVRf5vMLDx0" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 60025 Cc: Yuan Fu , Eli Zaretskii , 60025@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --b1_MKDDJSwkPFUCdwYH2Phe2JBLXMGCenVRf5vMLDx0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On Thursday, December 15th, 2022 at 02:20, Theodor Thornhill wrote: >=20 > Randy Taylor dev@rjt.dev writes: > > >=20 > > Thanks Theo, that worked perfectly. We should consider adding > > something like this to the documentation somewhere, since I didn't see > > anything like this anywhere (although maybe I missed it). >=20 >=20 > I'm glad! Could be part of a tips and tricks or something? I think it should probably be part of whatever indentation documentation th= ere is. >=20 > No rules for comment? >=20 > [...] > > No rules for comment here either? Which rules should I add? I see these rules in some of the ts modes: ((and (parent-is "comment") comment-end) comment-start -1) ((parent-is "comment") comment-start-skip 0) What are they matching? When could a comment be a parent? (BTW attached a new patch with an updated NEWS entry after the recent chang= es there). --b1_MKDDJSwkPFUCdwYH2Phe2JBLXMGCenVRf5vMLDx0 Content-Type: text/x-patch; name=0001-Add-go-ts-mode-and-go-mod-ts-mode-Bug-60025.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=0001-Add-go-ts-mode-and-go-mod-ts-mode-Bug-60025.patch RnJvbSAyMTRhMWI2NDY2M2M0M2Q5YmE3ZmZhNzQ4YjVkNzczMTZmYmMyYjEyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSYW5keSBUYXlsb3IgPGRldkByanQuZGV2PgpEYXRlOiBTdW4s IDExIERlYyAyMDIyIDE4OjQxOjE2IC0wNTAwClN1YmplY3Q6IFtQQVRDSF0gQWRkIGdvLXRzLW1v ZGUgYW5kIGdvLW1vZC10cy1tb2RlIChCdWcjNjAwMjUpCgoqIGFkbWluL25vdGVzL3RyZWUtc2l0 dGVyL2J1aWxkLW1vZHVsZS9iYXRjaC5zaDoKKiBhZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9idWls ZC1tb2R1bGUvYnVpbGQuc2g6IEFkZCBnby1tb2Qgc3VwcG9ydC4KKiBldGMvTkVXUzogTWVudGlv biB0aGVtLgoqIGxpc3AvcHJvZ21vZGVzL2VnbG90LmVsIChlZ2xvdC1zZXJ2ZXItcHJvZ3JhbXMp OiBBZGQgdGhlbS4KKiBsaXNwL3Byb2dtb2Rlcy9nby10cy1tb2RlLmVsOiBOZXcgbWFqb3IgbW9k ZXMgd2l0aAp0cmVlLXNpdHRlciBzdXBwb3J0LgotLS0KIGFkbWluL25vdGVzL3RyZWUtc2l0dGVy L2J1aWxkLW1vZHVsZS9iYXRjaC5zaCB8ICAgMSArCiBhZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9i dWlsZC1tb2R1bGUvYnVpbGQuc2ggfCAgIDUgKwogZXRjL05FV1MgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICA4ICsKIGxpc3AvcHJvZ21vZGVzL2VnbG90LmVsICAgICAg ICAgICAgICAgICAgICAgICB8ICAgMyArLQogbGlzcC9wcm9nbW9kZXMvZ28tdHMtbW9kZS5lbCAg ICAgICAgICAgICAgICAgIHwgMzU0ICsrKysrKysrKysrKysrKysrKwogNSBmaWxlcyBjaGFuZ2Vk LCAzNzAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGxp c3AvcHJvZ21vZGVzL2dvLXRzLW1vZGUuZWwKCmRpZmYgLS1naXQgYS9hZG1pbi9ub3Rlcy90cmVl LXNpdHRlci9idWlsZC1tb2R1bGUvYmF0Y2guc2ggYi9hZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9i dWlsZC1tb2R1bGUvYmF0Y2guc2gKaW5kZXggZTdlZjQ1Y2Y1Ny4uYzUwYjlkZjM3ZSAxMDA3NTUK LS0tIGEvYWRtaW4vbm90ZXMvdHJlZS1zaXR0ZXIvYnVpbGQtbW9kdWxlL2JhdGNoLnNoCisrKyBi L2FkbWluL25vdGVzL3RyZWUtc2l0dGVyL2J1aWxkLW1vZHVsZS9iYXRjaC5zaApAQCAtOSw2ICs5 LDcgQEAgbGFuZ3VhZ2VzPQogICAgICdjLXNoYXJwJwogICAgICdkb2NrZXJmaWxlJwogICAgICdn bycKKyAgICAnZ28tbW9kJwogICAgICdodG1sJwogICAgICdqYXZhc2NyaXB0JwogICAgICdqc29u JwpkaWZmIC0tZ2l0IGEvYWRtaW4vbm90ZXMvdHJlZS1zaXR0ZXIvYnVpbGQtbW9kdWxlL2J1aWxk LnNoIGIvYWRtaW4vbm90ZXMvdHJlZS1zaXR0ZXIvYnVpbGQtbW9kdWxlL2J1aWxkLnNoCmluZGV4 IDQxOTVlYTU4YzMuLjZkMjIxMjdiZDEgMTAwNzU1Ci0tLSBhL2FkbWluL25vdGVzL3RyZWUtc2l0 dGVyL2J1aWxkLW1vZHVsZS9idWlsZC5zaAorKysgYi9hZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9i dWlsZC1tb2R1bGUvYnVpbGQuc2gKQEAgLTI2LDYgKzI2LDExIEBAIGdyYW1tYXJkaXI9CiAgICAg ImNtYWtlIikKICAgICAgICAgb3JnPSJ1eWhhIgogICAgICAgICA7OworICAgICJnby1tb2QiKQor ICAgICAgICAjIFRoZSBwYXJzZXIgaXMgY2FsbGVkICJnb21vZCIuCisgICAgICAgIGxhbmc9Imdv bW9kIgorICAgICAgICBuYW1lc3BhY2U9ImNhbWRlbmNoZWVrIgorICAgICAgICA7OwogICAgICJ0 eXBlc2NyaXB0IikKICAgICAgICAgc291cmNlZGlyPSJ0cmVlLXNpdHRlci10eXBlc2NyaXB0L3R5 cGVzY3JpcHQvc3JjIgogICAgICAgICBncmFtbWFyZGlyPSJ0cmVlLXNpdHRlci10eXBlc2NyaXB0 L3R5cGVzY3JpcHQiCmRpZmYgLS1naXQgYS9ldGMvTkVXUyBiL2V0Yy9ORVdTCmluZGV4IDZmMGQx ZjY1YmYuLjEyMTcwN2UyZDIgMTAwNjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBA IC0zMDgxLDYgKzMwODEsMTQgQEAgQSBtYWpvciBtb2RlIGJhc2VkIG9uIHRoZSB0cmVlLXNpdHRl ciBsaWJyYXJ5IGZvciBlZGl0aW5nIGZpbGVzCiB3cml0dGVuIGluIFRPTUwsIGEgZm9ybWF0IGZv ciB3cml0aW5nIGNvbmZpZ3VyYXRpb24gZmlsZXMuICBJdCBpcwogYXV0by1lbmFibGVkIGZvciBm aWxlcyB3aXRoIHRoZSAiLnRvbWwiIGV4dGVuc2lvbi4KIAorKioqIE5ldyBtYWpvciBtb2RlICdn by10cy1tb2RlJy4KK0EgbWFqb3IgbW9kZSBiYXNlZCBvbiB0aGUgdHJlZS1zaXR0ZXIgbGlicmFy eSBmb3IgZWRpdGluZyBwcm9ncmFtcyBpbgordGhlIEdvIGxhbmd1YWdlLiAgSXQgaXMgYXV0by1l bmFibGVkIGZvciBmaWxlcyB3aXRoIHRoZSAiLmdvIiBleHRlbnNpb24uCisKKyoqKiBOZXcgbWFq b3IgbW9kZSAnZ28tbW9kLXRzLW1vZGUnLgorQSBtYWpvciBtb2RlIGJhc2VkIG9uIHRoZSB0cmVl LXNpdHRlciBsaWJyYXJ5IGZvciBlZGl0aW5nICJnby5tb2QiCitmaWxlcy4gIEl0IGlzIGF1dG8t ZW5hYmxlZCBmb3IgZmlsZXMgd2hpY2ggYXJlIG5hbWVkICJnby5tb2QiLgorCiAMCiAqIEluY29t cGF0aWJsZSBMaXNwIENoYW5nZXMgaW4gRW1hY3MgMjkuMQogCmRpZmYgLS1naXQgYS9saXNwL3By b2dtb2Rlcy9lZ2xvdC5lbCBiL2xpc3AvcHJvZ21vZGVzL2VnbG90LmVsCmluZGV4IDljNWEzNjFk ZjcuLjAyYmI2YmI2NjUgMTAwNjQ0Ci0tLSBhL2xpc3AvcHJvZ21vZGVzL2VnbG90LmVsCisrKyBi L2xpc3AvcHJvZ21vZGVzL2VnbG90LmVsCkBAIC0yMTEsNyArMjExLDggQEAgZWdsb3Qtc2VydmVy LXByb2dyYW1zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlbG0tbW9kZSAuICgi ZWxtLWxhbmd1YWdlLXNlcnZlciIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo bWludC1tb2RlIC4gKCJtaW50IiAibHMiKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGtvdGxpbi1tb2RlIC4gKCJrb3RsaW4tbGFuZ3VhZ2Utc2VydmVyIikpCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICgoZ28tbW9kZSBnby1kb3QtbW9kLW1vZGUgZ28tZG90LXdv cmstbW9kZSkgLiAoImdvcGxzIikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgo Z28tbW9kZSBnby1kb3QtbW9kLW1vZGUgZ28tZG90LXdvcmstbW9kZSBnby10cy1tb2RlIGdvLW1v ZC10cy1tb2RlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLiAoImdvcGxzIikp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUi1tb2RlIGVzcy1yLW1vZGUpIC4g KCJSIiAiLS1zbGF2ZSIgIi1lIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAibGFuZ3VhZ2VzZXJ2ZXI6OnJ1bigpIikpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICgoamF2YS1tb2RlIGphdmEtdHMtbW9kZSkgLiAoImpkdGxz IikpCmRpZmYgLS1naXQgYS9saXNwL3Byb2dtb2Rlcy9nby10cy1tb2RlLmVsIGIvbGlzcC9wcm9n bW9kZXMvZ28tdHMtbW9kZS5lbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw Li4xMjRkOWIwNDRhCi0tLSAvZGV2L251bGwKKysrIGIvbGlzcC9wcm9nbW9kZXMvZ28tdHMtbW9k ZS5lbApAQCAtMCwwICsxLDM1NCBAQAorOzs7IGdvLXRzLW1vZGUuZWwgLS0tIHRyZWUtc2l0dGVy IHN1cHBvcnQgZm9yIEdvICAtKi0gbGV4aWNhbC1iaW5kaW5nOiB0OyAtKi0KKworOzsgQ29weXJp Z2h0IChDKSAyMDIyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCis7OyBBdXRob3Ig ICAgIDogUmFuZHkgVGF5bG9yIDxkZXZAcmp0LmRldj4KKzs7IE1haW50YWluZXIgOiBSYW5keSBU YXlsb3IgPGRldkByanQuZGV2PgorOzsgQ3JlYXRlZCAgICA6IERlY2VtYmVyIDIwMjIKKzs7IEtl eXdvcmRzICAgOiBnbyBsYW5ndWFnZXMgdHJlZS1zaXR0ZXIKKworOzsgVGhpcyBmaWxlIGlzIHBh cnQgb2YgR05VIEVtYWNzLgorCis7OyBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorOzsgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKzs7IHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2Us IG9yCis7OyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCis7OyBHTlUgRW1h Y3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKzs7 IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCis7OyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuICBTZWUgdGhlCis7OyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk ZXRhaWxzLgorCis7OyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorOzsgYWxvbmcgd2l0aCBHTlUgRW1hY3MuICBJZiBub3Qs IHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCis7OzsgQ29tbWVudGFyeToK Kzs7CisKKzs7OyBDb2RlOgorCisocmVxdWlyZSAndHJlZXNpdCkKKyhldmFsLXdoZW4tY29tcGls ZSAocmVxdWlyZSAncngpKQorCisoZGVjbGFyZS1mdW5jdGlvbiB0cmVlc2l0LXBhcnNlci1jcmVh dGUgInRyZWVzaXQuYyIpCisoZGVjbGFyZS1mdW5jdGlvbiB0cmVlc2l0LWluZHVjZS1zcGFyc2Ut dHJlZSAidHJlZXNpdC5jIikKKyhkZWNsYXJlLWZ1bmN0aW9uIHRyZWVzaXQtbm9kZS1jaGlsZCAi dHJlZXNpdC5jIikKKyhkZWNsYXJlLWZ1bmN0aW9uIHRyZWVzaXQtbm9kZS1jaGlsZC1ieS1maWVs ZC1uYW1lICJ0cmVlc2l0LmMiKQorKGRlY2xhcmUtZnVuY3Rpb24gdHJlZXNpdC1ub2RlLXN0YXJ0 ICJ0cmVlc2l0LmMiKQorKGRlY2xhcmUtZnVuY3Rpb24gdHJlZXNpdC1ub2RlLXR5cGUgInRyZWVz aXQuYyIpCisKKyhkZWZjdXN0b20gZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0IDQKKyAgIk51bWJl ciBvZiBzcGFjZXMgZm9yIGVhY2ggaW5kZW50YXRpb24gc3RlcCBpbiBgZ28tdHMtbW9kZScuIgor ICA6dmVyc2lvbiAiMjkuMSIKKyAgOnR5cGUgJ2ludGVnZXIKKyAgOnNhZmUgJ2ludGVnZXJwCisg IDpncm91cCAnZ28pCisKKyhkZWZ2YXIgZ28tdHMtbW9kZS0tc3ludGF4LXRhYmxlCisgIChsZXQg KCh0YWJsZSAobWFrZS1zeW50YXgtdGFibGUpKSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/ KyAgICIuIiAgICAgIHRhYmxlKQorICAgIChtb2RpZnktc3ludGF4LWVudHJ5ID8tICAgIi4iICAg ICAgdGFibGUpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgPz0gICAiLiIgICAgICB0YWJsZSkK KyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/JSAgICIuIiAgICAgIHRhYmxlKQorICAgIChtb2Rp Znktc3ludGF4LWVudHJ5ID8mICAgIi4iICAgICAgdGFibGUpCisgICAgKG1vZGlmeS1zeW50YXgt ZW50cnkgP3wgICAiLiIgICAgICB0YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/XiAg ICIuIiAgICAgIHRhYmxlKQorICAgIChtb2RpZnktc3ludGF4LWVudHJ5ID8hICAgIi4iICAgICAg dGFibGUpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgPzwgICAiLiIgICAgICB0YWJsZSkKKyAg ICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/PiAgICIuIiAgICAgIHRhYmxlKQorICAgIChtb2RpZnkt c3ludGF4LWVudHJ5ID9cXCAgIlxcIiAgICAgdGFibGUpCisgICAgKG1vZGlmeS1zeW50YXgtZW50 cnkgPy8gICAiLiAxMjRiIiB0YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/KiAgICIu IDIzIiAgIHRhYmxlKQorICAgIChtb2RpZnktc3ludGF4LWVudHJ5ID9cbiAgIj4gYiIgICAgdGFi bGUpCisgICAgdGFibGUpCisgICJTeW50YXggdGFibGUgZm9yIGBnby10cy1tb2RlJy4iKQorCiso ZGVmdmFyIGdvLXRzLW1vZGUtLWluZGVudC1ydWxlcworICBgKChnbworICAgICAoKG5vZGUtaXMg IikiKSBwYXJlbnQtYm9sIDApCisgICAgICgobm9kZS1pcyAiXSIpIHBhcmVudC1ib2wgMCkKKyAg ICAgKChub2RlLWlzICJ9IikgcGFyZW50LWJvbCAwKQorICAgICAoKG5vZGUtaXMgImxhYmVsZWRf c3RhdGVtZW50Iikgbm8taW5kZW50KQorICAgICAoKHBhcmVudC1pcyAiYXJndW1lbnRfbGlzdCIp IHBhcmVudC1ib2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAi YmxvY2siKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChwYXJl bnQtaXMgImNvbnN0X2RlY2xhcmF0aW9uIikgcGFyZW50LWJvbCBnby10cy1tb2RlLWluZGVudC1v ZmZzZXQpCisgICAgICgocGFyZW50LWlzICJkZWZhdWx0X2Nhc2UiKSBwYXJlbnQtYm9sIGdvLXRz LW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChwYXJlbnQtaXMgImV4cHJlc3Npb25fY2FzZSIp IHBhcmVudC1ib2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAi ZXhwcmVzc2lvbl9zd2l0Y2hfc3RhdGVtZW50IikgcGFyZW50LWJvbCAwKQorICAgICAoKHBhcmVu dC1pcyAiZmllbGRfZGVjbGFyYXRpb25fbGlzdCIpIHBhcmVudC1ib2wgZ28tdHMtbW9kZS1pbmRl bnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAiaW1wb3J0X3NwZWNfbGlzdCIpIHBhcmVudC1i b2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAibGFiZWxlZF9z dGF0ZW1lbnQiKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChw YXJlbnQtaXMgImxpdGVyYWxfdmFsdWUiKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9m ZnNldCkKKyAgICAgKChwYXJlbnQtaXMgInR5cGVfc3BlYyIpIHBhcmVudC1ib2wgZ28tdHMtbW9k ZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAidmFyX2RlY2xhcmF0aW9uIikgcGFy ZW50LWJvbCBnby10cy1tb2RlLWluZGVudC1vZmZzZXQpCisgICAgIChuby1ub2RlIHBhcmVudC1i b2wgMCkpKQorICAiVHJlZS1zaXR0ZXIgaW5kZW50IHJ1bGVzIGZvciBgZ28tdHMtbW9kZScuIikK KworKGRlZnZhciBnby10cy1tb2RlLS1rZXl3b3JkcworICAnKCJicmVhayIgImNhc2UiICJjaGFu IiAiY29uc3QiICJjb250aW51ZSIgImRlZmF1bHQiICJkZWZlciIgImVsc2UiCisgICAgImZhbGx0 aHJvdWdoIiAiZm9yIiAiZnVuYyIgImdvIiAiZ290byIgImlmIiAiaW1wb3J0IiAiaW50ZXJmYWNl IiAibWFwIgorICAgICJwYWNrYWdlIiAicmFuZ2UiICJyZXR1cm4iICJzZWxlY3QiICJzdHJ1Y3Qi ICJzd2l0Y2giICJ0eXBlIiAidmFyIikKKyAgIkdvIGtleXdvcmRzIGZvciB0cmVlLXNpdHRlciBm b250LWxvY2tpbmcuIikKKworKGRlZnZhciBnby10cy1tb2RlLS1vcGVyYXRvcnMKKyAgJygiKyIg IiYiICIrPSIgIiY9IiAiJiYiICI9PSIgIiE9IiAiLSIgInwiICItPSIgInw9IiAifHwiICI8IiAi PD0iCisgICAgIioiICJeIiAiKj0iICJePSIgIjwtIiAiPiIgIj49IiAiLyIgIjw8IiAiLz0iICI8 PD0iICIrKyIgIj0iICI6PSIgIiUiCisgICAgIj4+IiAiJT0iICI+Pj0iICItLSIgIiEiICAiLi4u IiAgIiZeIiAiJl49IiAifiIpCisgICJHbyBvcGVyYXRvcnMgZm9yIHRyZWUtc2l0dGVyIGZvbnQt bG9ja2luZy4iKQorCisoZGVmdmFyIGdvLXRzLW1vZGUtLWZvbnQtbG9jay1zZXR0aW5ncworICAo dHJlZXNpdC1mb250LWxvY2stcnVsZXMKKyAgIDpsYW5ndWFnZSAnZ28KKyAgIDpmZWF0dXJlICdi cmFja2V0CisgICAnKChbIigiICIpIiAiWyIgIl0iICJ7IiAifSJdKSBAZm9udC1sb2NrLWJyYWNr ZXQtZmFjZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUgJ2NvbW1lbnQKKyAgICco KGNvbW1lbnQpIEBmb250LWxvY2stY29tbWVudC1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisg ICA6ZmVhdHVyZSAnY29uc3RhbnQKKyAgICcoWyhmYWxzZSkgKGlvdGEpIChuaWwpICh0cnVlKV0g QGZvbnQtbG9jay1jb25zdGFudC1mYWNlCisgICAgIChjb25zdF9kZWNsYXJhdGlvbgorICAgICAg KGNvbnN0X3NwZWMgbmFtZTogKGlkZW50aWZpZXIpIEBmb250LWxvY2stY29uc3RhbnQtZmFjZSkp KQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAnZGVsaW1pdGVyCisgICAnKChbIiwi ICIuIiAiOyIgIjoiXSkgQGZvbnQtbG9jay1kZWxpbWl0ZXItZmFjZSkKKworICAgOmxhbmd1YWdl ICdnbworICAgOmZlYXR1cmUgJ2Z1bmN0aW9uCisgICAnKChjYWxsX2V4cHJlc3Npb24KKyAgICAg IGZ1bmN0aW9uOiAoaWRlbnRpZmllcikgQGZvbnQtbG9jay1mdW5jdGlvbi1uYW1lLWZhY2UpCisg ICAgIChjYWxsX2V4cHJlc3Npb24KKyAgICAgIGZ1bmN0aW9uOiAoc2VsZWN0b3JfZXhwcmVzc2lv bgorICAgICAgICAgICAgICAgICBmaWVsZDogKGZpZWxkX2lkZW50aWZpZXIpIEBmb250LWxvY2st ZnVuY3Rpb24tbmFtZS1mYWNlKSkKKyAgICAgKGZ1bmN0aW9uX2RlY2xhcmF0aW9uCisgICAgICBu YW1lOiAoaWRlbnRpZmllcikgQGZvbnQtbG9jay1mdW5jdGlvbi1uYW1lLWZhY2UpCisgICAgICht ZXRob2RfZGVjbGFyYXRpb24KKyAgICAgIG5hbWU6IChmaWVsZF9pZGVudGlmaWVyKSBAZm9udC1s b2NrLWZ1bmN0aW9uLW5hbWUtZmFjZSkpCisKKyAgIDpsYW5ndWFnZSAnZ28KKyAgIDpmZWF0dXJl ICdrZXl3b3JkCisgICBgKFssQGdvLXRzLW1vZGUtLWtleXdvcmRzXSBAZm9udC1sb2NrLWtleXdv cmQtZmFjZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUgJ2xhYmVsCisgICAnKChs YWJlbF9uYW1lKSBAZm9udC1sb2NrLWNvbnN0YW50LWZhY2UpCisKKyAgIDpsYW5ndWFnZSAnZ28K KyAgIDpmZWF0dXJlICdudW1iZXIKKyAgICcoWyhmbG9hdF9saXRlcmFsKQorICAgICAgKGltYWdp bmFyeV9saXRlcmFsKQorICAgICAgKGludF9saXRlcmFsKV0gQGZvbnQtbG9jay1udW1iZXItZmFj ZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUgJ3N0cmluZworICAgJyhbKGludGVy cHJldGVkX3N0cmluZ19saXRlcmFsKQorICAgICAgKHJhd19zdHJpbmdfbGl0ZXJhbCkKKyAgICAg IChydW5lX2xpdGVyYWwpXSBAZm9udC1sb2NrLXN0cmluZy1mYWNlKQorCisgICA6bGFuZ3VhZ2Ug J2dvCisgICA6ZmVhdHVyZSAndHlwZQorICAgJyhbKHBhY2thZ2VfaWRlbnRpZmllcikgKHR5cGVf aWRlbnRpZmllcildIEBmb250LWxvY2stdHlwZS1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisg ICA6ZmVhdHVyZSAndmFyaWFibGUKKyAgICcoKGlkZW50aWZpZXIpIEBmb250LWxvY2stdmFyaWFi bGUtbmFtZS1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAnZXNjYXBlLXNl cXVlbmNlCisgICA6b3ZlcnJpZGUgdAorICAgJygoZXNjYXBlX3NlcXVlbmNlKSBAZm9udC1sb2Nr LWVzY2FwZS1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAncHJvcGVydHkK KyAgIDpvdmVycmlkZSB0CisgICAnKChmaWVsZF9pZGVudGlmaWVyKSBAZm9udC1sb2NrLXByb3Bl cnR5LWZhY2UKKyAgICAgKGtleWVkX2VsZW1lbnQgKF8gKGlkZW50aWZpZXIpIEBmb250LWxvY2st cHJvcGVydHktZmFjZSkpKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAnZXJyb3IK KyAgIDpvdmVycmlkZSB0CisgICAnKChFUlJPUikgQGZvbnQtbG9jay13YXJuaW5nLWZhY2UpKQor ICAiVHJlZS1zaXR0ZXIgZm9udC1sb2NrIHNldHRpbmdzIGZvciBgZ28tdHMtbW9kZScuIikKKwor KGRlZnVuIGdvLXRzLW1vZGUtLWltZW51ICgpCisgICJSZXR1cm4gSW1lbnUgYWxpc3QgZm9yIHRo ZSBjdXJyZW50IGJ1ZmZlci4iCisgIChsZXQqICgobm9kZSAodHJlZXNpdC1idWZmZXItcm9vdC1u b2RlKSkKKyAgICAgICAgIChmdW5jLXRyZWUgKHRyZWVzaXQtaW5kdWNlLXNwYXJzZS10cmVlCisg ICAgICAgICAgICAgICAgICAgICBub2RlICJmdW5jdGlvbl9kZWNsYXJhdGlvbiIgbmlsIDEwMDAp KQorICAgICAgICAgKHR5cGUtdHJlZSAodHJlZXNpdC1pbmR1Y2Utc3BhcnNlLXRyZWUKKyAgICAg ICAgICAgICAgICAgICAgIG5vZGUgInR5cGVfc3BlYyIgbmlsIDEwMDApKQorICAgICAgICAgKGZ1 bmMtaW5kZXggKGdvLXRzLW1vZGUtLWltZW51LTEgZnVuYy10cmVlKSkKKyAgICAgICAgICh0eXBl LWluZGV4IChnby10cy1tb2RlLS1pbWVudS0xIHR5cGUtdHJlZSkpKQorICAgIChhcHBlbmQKKyAg ICAgKHdoZW4gZnVuYy1pbmRleCBgKCgiRnVuY3Rpb24iIC4gLGZ1bmMtaW5kZXgpKSkKKyAgICAg KHdoZW4gdHlwZS1pbmRleCBgKCgiVHlwZSIgLiAsdHlwZS1pbmRleCkpKSkpKQorCisoZGVmdW4g Z28tdHMtbW9kZS0taW1lbnUtMSAobm9kZSkKKyAgIkhlbHBlciBmb3IgYGdvLXRzLW1vZGUtLWlt ZW51Jy4KK0ZpbmQgc3RyaW5nIHJlcHJlc2VudGF0aW9uIGZvciBOT0RFIGFuZCBzZXQgbWFya2Vy LCB0aGVuIHJlY3Vyc2UKK3RoZSBzdWJ0cmVlcy4iCisgIChsZXQqICgodHMtbm9kZSAoY2FyIG5v ZGUpKQorICAgICAgICAgKGNoaWxkcmVuIChjZHIgbm9kZSkpCisgICAgICAgICAoc3VidHJlZXMg KG1hcGNhbiAjJ2dvLXRzLW1vZGUtLWltZW51LTEKKyAgICAgICAgICAgICAgICAgICAgICAgICAg IGNoaWxkcmVuKSkKKyAgICAgICAgIChuYW1lICh3aGVuIHRzLW5vZGUKKyAgICAgICAgICAgICAg ICAgKHRyZWVzaXQtbm9kZS10ZXh0CisgICAgICAgICAgICAgICAgICAocGNhc2UgKHRyZWVzaXQt bm9kZS10eXBlIHRzLW5vZGUpCisgICAgICAgICAgICAgICAgICAgICgiZnVuY3Rpb25fZGVjbGFy YXRpb24iCisgICAgICAgICAgICAgICAgICAgICAodHJlZXNpdC1ub2RlLWNoaWxkLWJ5LWZpZWxk LW5hbWUgdHMtbm9kZSAibmFtZSIpKQorICAgICAgICAgICAgICAgICAgICAoInR5cGVfc3BlYyIK KyAgICAgICAgICAgICAgICAgICAgICh0cmVlc2l0LW5vZGUtY2hpbGQtYnktZmllbGQtbmFtZSB0 cy1ub2RlICJuYW1lIikpKSkpKQorICAgICAgICAgKG1hcmtlciAod2hlbiB0cy1ub2RlCisgICAg ICAgICAgICAgICAgICAgKHNldC1tYXJrZXIgKG1ha2UtbWFya2VyKQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICh0cmVlc2l0LW5vZGUtc3RhcnQgdHMtbm9kZSkpKSkpCisgICAgKGNv bmQKKyAgICAgKChvciAobnVsbCB0cy1ub2RlKSAobnVsbCBuYW1lKSkgc3VidHJlZXMpCisgICAg IChzdWJ0cmVlcworICAgICAgYCgoLG5hbWUgLChjb25zIG5hbWUgbWFya2VyKSAsQHN1YnRyZWVz KSkpCisgICAgICh0CisgICAgICBgKCgsbmFtZSAuICxtYXJrZXIpKSkpKSkKKworOzs7IyMjYXV0 b2xvYWQKKyhhZGQtdG8tbGlzdCAnYXV0by1tb2RlLWFsaXN0ICcoIlxcLmdvXFwnIiAuIGdvLXRz LW1vZGUpKQorCis7OzsjIyNhdXRvbG9hZAorKGRlZmluZS1kZXJpdmVkLW1vZGUgZ28tdHMtbW9k ZSBwcm9nLW1vZGUgIkdvIgorICAiTWFqb3IgbW9kZSBmb3IgZWRpdGluZyBHbywgcG93ZXJlZCBi eSB0cmVlLXNpdHRlci4iCisgIDpncm91cCAnZ28KKyAgOnN5bnRheC10YWJsZSBnby10cy1tb2Rl LS1zeW50YXgtdGFibGUKKworICAod2hlbiAodHJlZXNpdC1yZWFkeS1wICdnbykKKyAgICAodHJl ZXNpdC1wYXJzZXItY3JlYXRlICdnbykKKworICAgIDs7IENvbW1lbnRzLgorICAgIChzZXRxLWxv Y2FsIGNvbW1lbnQtc3RhcnQgIi8vICIpCisgICAgKHNldHEtbG9jYWwgY29tbWVudC1lbmQgIiIp CisgICAgKHNldHEtbG9jYWwgY29tbWVudC1zdGFydC1za2lwIChyeCAiLy8iICgqIChzeW50YXgg d2hpdGVzcGFjZSkpKSkKKworICAgIDs7IEltZW51LgorICAgIChzZXRxLWxvY2FsIGltZW51LWNy ZWF0ZS1pbmRleC1mdW5jdGlvbiAjJ2dvLXRzLW1vZGUtLWltZW51KQorICAgIChzZXRxLWxvY2Fs IHdoaWNoLWZ1bmMtZnVuY3Rpb25zIG5pbCkKKworICAgIDs7IEluZGVudC4KKyAgICAoc2V0cS1s b2NhbCBpbmRlbnQtdGFicy1tb2RlIHQKKyAgICAgICAgICAgICAgICB0cmVlc2l0LXNpbXBsZS1p bmRlbnQtcnVsZXMgZ28tdHMtbW9kZS0taW5kZW50LXJ1bGVzKQorCisgICAgOzsgRm9udC1sb2Nr LgorICAgIChzZXRxLWxvY2FsIHRyZWVzaXQtZm9udC1sb2NrLXNldHRpbmdzIGdvLXRzLW1vZGUt LWZvbnQtbG9jay1zZXR0aW5ncykKKyAgICAoc2V0cS1sb2NhbCB0cmVlc2l0LWZvbnQtbG9jay1m ZWF0dXJlLWxpc3QKKyAgICAgICAgICAgICAgICAnKCggY29tbWVudCkKKyAgICAgICAgICAgICAg ICAgICgga2V5d29yZCBzdHJpbmcgdHlwZSkKKyAgICAgICAgICAgICAgICAgICggY29uc3RhbnQg ZXNjYXBlLXNlcXVlbmNlIGZ1bmN0aW9uIGxhYmVsIG51bWJlcgorICAgICAgICAgICAgICAgICAg ICBwcm9wZXJ0eSB2YXJpYWJsZSkKKyAgICAgICAgICAgICAgICAgICggYnJhY2tldCBkZWxpbWl0 ZXIgZXJyb3Igb3BlcmF0b3IpKSkKKworICAgICh0cmVlc2l0LW1ham9yLW1vZGUtc2V0dXApKSkK KworOzsgZ28ubW9kIHN1cHBvcnQuCisKKyhkZWZ2YXIgZ28tbW9kLXRzLW1vZGUtLXN5bnRheC10 YWJsZQorICAobGV0ICgodGFibGUgKG1ha2Utc3ludGF4LXRhYmxlKSkpCisgICAgKG1vZGlmeS1z eW50YXgtZW50cnkgPy8gICAiLiAxMjRiIiB0YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRy eSA/XG4gICI+IGIiICAgIHRhYmxlKQorICAgIHRhYmxlKQorICAiU3ludGF4IHRhYmxlIGZvciBg Z28tbW9kLXRzLW1vZGUnLiIpCisKKyhkZWZ2YXIgZ28tbW9kLXRzLW1vZGUtLWluZGVudC1ydWxl cworICBgKChnb21vZAorICAgICAoKG5vZGUtaXMgIikiKSBwYXJlbnQtYm9sIDApCisgICAgICgo cGFyZW50LWlzICJleGNsdWRlX2RpcmVjdGl2ZSIpIHBhcmVudC1ib2wgZ28tdHMtbW9kZS1pbmRl bnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAibW9kdWxlX2RpcmVjdGl2ZSIpIHBhcmVudC1i b2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAicmVwbGFjZV9k aXJlY3RpdmUiKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChw YXJlbnQtaXMgInJlcXVpcmVfZGlyZWN0aXZlIikgcGFyZW50LWJvbCBnby10cy1tb2RlLWluZGVu dC1vZmZzZXQpCisgICAgICgocGFyZW50LWlzICJyZXRyYWN0X2RpcmVjdGl2ZSIpIHBhcmVudC1i b2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKGdvLW1vZC10cy1tb2RlLS1pbi1k aXJlY3RpdmUtcCkgbm8taW5kZW50IGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKG5v LW5vZGUgbm8taW5kZW50IDApKSkKKyAgIlRyZWUtc2l0dGVyIGluZGVudCBydWxlcyBmb3IgYGdv LW1vZC10cy1tb2RlJy4iKQorCisoZGVmdW4gZ28tbW9kLXRzLW1vZGUtLWluLWRpcmVjdGl2ZS1w ICgpCisgICJSZXR1cm4gbm9uLW5pbCBpZiBpbnNpZGUgYSBkaXJlY3RpdmUuCitXaGVuIGVudGVy aW5nIGFuIGVtcHR5IGRpcmVjdGl2ZSBvciBhZGRpbmcgYSBuZXcgZW50cnkgdG8gb25lLCBubyBu b2RlCit3aWxsIGJlIHByZXNlbnQgbWVhbmluZyBub25lIG9mIHRoZSBpbmRlbnRhdGlvbiBydWxl cyB3aWxsIG1hdGNoLAorYmVjYXVzZSB0aGVyZSBpcyBubyBwYXJlbnQgdG8gbWF0Y2ggYWdhaW5z dC4gIFRoaXMgZnVuY3Rpb24gZGV0ZXJtaW5lcword2hhdCB0aGUgcGFyZW50IG9mIHRoZSBub2Rl IHdvdWxkIGJlIGlmIGl0IHdlcmUgYSBub2RlLiIKKyAgKGxhbWJkYSAobm9kZSBfIF8gJnJlc3Qg XykKKyAgICAodW5sZXNzICh0cmVlc2l0LW5vZGUtdHlwZSBub2RlKQorICAgICAgKHNhdmUtZXhj dXJzaW9uCisgICAgICAgIChiYWNrd2FyZC11cC1saXN0KQorICAgICAgICAoYmFjay10by1pbmRl bnRhdGlvbikKKyAgICAgICAgKHBjYXNlICh0cmVlc2l0LW5vZGUtdHlwZSAodHJlZXNpdC1ub2Rl LWF0IChwb2ludCkpKQorICAgICAgICAgICgiZXhjbHVkZSIgdCkKKyAgICAgICAgICAoIm1vZHVs ZSIgdCkKKyAgICAgICAgICAoInJlcGxhY2UiIHQpCisgICAgICAgICAgKCJyZXF1aXJlIiB0KQor ICAgICAgICAgICgicmV0cmFjdCIgdCkpKSkpKQorCisoZGVmdmFyIGdvLW1vZC10cy1tb2RlLS1r ZXl3b3JkcworICAnKCJleGNsdWRlIiAiZ28iICJtb2R1bGUiICJyZXBsYWNlIiAicmVxdWlyZSIg InJldHJhY3QiKQorICAiZ28ubW9kIGtleXdvcmRzIGZvciB0cmVlLXNpdHRlciBmb250LWxvY2tp bmcuIikKKworKGRlZnZhciBnby1tb2QtdHMtbW9kZS0tZm9udC1sb2NrLXNldHRpbmdzCisgICh0 cmVlc2l0LWZvbnQtbG9jay1ydWxlcworICAgOmxhbmd1YWdlICdnb21vZAorICAgOmZlYXR1cmUg J2JyYWNrZXQKKyAgICcoKFsiKCIgIikiXSkgQGZvbnQtbG9jay1icmFja2V0LWZhY2UpCisKKyAg IDpsYW5ndWFnZSAnZ29tb2QKKyAgIDpmZWF0dXJlICdjb21tZW50CisgICAnKChjb21tZW50KSBA Zm9udC1sb2NrLWNvbW1lbnQtZmFjZSkKKworICAgOmxhbmd1YWdlICdnb21vZAorICAgOmZlYXR1 cmUgJ2tleXdvcmQKKyAgIGAoWyxAZ28tbW9kLXRzLW1vZGUtLWtleXdvcmRzXSBAZm9udC1sb2Nr LWtleXdvcmQtZmFjZSkKKworICAgOmxhbmd1YWdlICdnb21vZAorICAgOmZlYXR1cmUgJ251bWJl cgorICAgJyhbKGdvX3ZlcnNpb24pICh2ZXJzaW9uKV0gQGZvbnQtbG9jay1udW1iZXItZmFjZSkK KworICAgOmxhbmd1YWdlICdnb21vZAorICAgOmZlYXR1cmUgJ29wZXJhdG9yCisgICAnKChbIj0+ Il0pIEBmb250LWxvY2stb3BlcmF0b3ItZmFjZSkKKworICAgOmxhbmd1YWdlICdnb21vZAorICAg OmZlYXR1cmUgJ2Vycm9yCisgICA6b3ZlcnJpZGUgdAorICAgJygoRVJST1IpIEBmb250LWxvY2st d2FybmluZy1mYWNlKSkKKyAgIlRyZWUtc2l0dGVyIGZvbnQtbG9jayBzZXR0aW5ncyBmb3IgYGdv LW1vZC10cy1tb2RlJy4iKQorCis7OzsjIyNhdXRvbG9hZAorKGFkZC10by1saXN0ICdhdXRvLW1v ZGUtYWxpc3QgJygiL2dvXFwubW9kXFwnIiAuIGdvLW1vZC10cy1tb2RlKSkKKworOzs7IyMjYXV0 b2xvYWQKKyhkZWZpbmUtZGVyaXZlZC1tb2RlIGdvLW1vZC10cy1tb2RlIHByb2ctbW9kZSAiR28g TW9kIgorICAiTWFqb3IgbW9kZSBmb3IgZWRpdGluZyBnby5tb2QgZmlsZXMsIHBvd2VyZWQgYnkg dHJlZS1zaXR0ZXIuIgorICA6Z3JvdXAgJ2dvCisgIDpzeW50YXgtdGFibGUgZ28tbW9kLXRzLW1v ZGUtLXN5bnRheC10YWJsZQorCisgICh3aGVuICh0cmVlc2l0LXJlYWR5LXAgJ2dvbW9kKQorICAg ICh0cmVlc2l0LXBhcnNlci1jcmVhdGUgJ2dvbW9kKQorCisgICAgOzsgQ29tbWVudHMuCisgICAg KHNldHEtbG9jYWwgY29tbWVudC1zdGFydCAiLy8gIikKKyAgICAoc2V0cS1sb2NhbCBjb21tZW50 LWVuZCAiIikKKyAgICAoc2V0cS1sb2NhbCBjb21tZW50LXN0YXJ0LXNraXAgKHJ4ICIvLyIgKCog KHN5bnRheCB3aGl0ZXNwYWNlKSkpKQorCisgICAgOzsgSW5kZW50LgorICAgIChzZXRxLWxvY2Fs IGluZGVudC10YWJzLW1vZGUgdAorICAgICAgICAgICAgICAgIHRyZWVzaXQtc2ltcGxlLWluZGVu dC1ydWxlcyBnby1tb2QtdHMtbW9kZS0taW5kZW50LXJ1bGVzKQorCisgICAgOzsgRm9udC1sb2Nr LgorICAgIChzZXRxLWxvY2FsIHRyZWVzaXQtZm9udC1sb2NrLXNldHRpbmdzIGdvLW1vZC10cy1t b2RlLS1mb250LWxvY2stc2V0dGluZ3MpCisgICAgKHNldHEtbG9jYWwgdHJlZXNpdC1mb250LWxv Y2stZmVhdHVyZS1saXN0CisgICAgICAgICAgICAgICAgJygoY29tbWVudCkKKyAgICAgICAgICAg ICAgICAgIChrZXl3b3JkKQorICAgICAgICAgICAgICAgICAgKG51bWJlcikKKyAgICAgICAgICAg ICAgICAgIChicmFja2V0IGVycm9yIG9wZXJhdG9yKSkpCisKKyAgICAodHJlZXNpdC1tYWpvci1t b2RlLXNldHVwKSkpCisKKyhwcm92aWRlICdnby10cy1tb2RlKQorCis7OzsgZ28tdHMtbW9kZS5l bCBlbmRzIGhlcmUKLS0gCjIuMzkuMAoK --b1_MKDDJSwkPFUCdwYH2Phe2JBLXMGCenVRf5vMLDx0-- From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 15 13:06:31 2022 Received: (at 60025) by debbugs.gnu.org; 15 Dec 2022 18:06:31 +0000 Received: from localhost ([127.0.0.1]:44095 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5sco-0005bu-UI for submit@debbugs.gnu.org; Thu, 15 Dec 2022 13:06:31 -0500 Received: from out2.migadu.com ([188.165.223.204]:46118) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5scl-0005bj-MY for 60025@debbugs.gnu.org; Thu, 15 Dec 2022 13:06:29 -0500 Date: Thu, 15 Dec 2022 19:06:13 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thornhill.no; s=key1; t=1671127586; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=DZ+i5rqv0YvwQH9BAj68vY7u0jBogrGXOzwgvOq7gdQ=; b=xcqFMlSR+CheoN55bQCpbl64grt5kgd0hnk0JKmLiSEhVcpNqJqUbpIceRBcjqqE2LGMBp LdNBW8iQrQXLmcOfRo74RfKDV0V2YtsvUJZHOXL4OarnBBjrBe2oV+yUQqDtmhUW44nGxQ KWW3mq4RqqnPswF2mqtkELXsTZal6SJMoSRs2E4YDGHVob47joYWaSXDGHeTuiCVDTgKRH vsEAYQpDsKTzWwu36mpyT3rKOFiN3H9Qh4S7OfLHY00KpfDKs6t+0UwxqIkUwqs0BsPypk jSNLhnTBmC1Fj8zLtwiHeyoNJyLyVBqqXK36ZA4y0FsnbsOVEDVHJluk/We77w== X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Theodor Thornhill To: Randy Taylor Subject: Re: bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode In-Reply-To: References: <83r0x3pk28.fsf@gnu.org> <83edt2nqgm.fsf@gnu.org> <5HEX4A0JH8fd_VGG1FbzJ8QtBZXlHLKtuAGgc_TUHvzKCzU2Q3PYbbi3rUWeLOBoJzg0qsQgVhwGZCF86A2Xg--I2ep5d1KjKoUoHrxXpqA=@rjt.dev> <87zgbpznfa.fsf@thornhill.no> <7fPZo7wRGoWPnr5djOSL0gsOE-Q15-l2y-INvJ7z5QXOpXmV_ct4soqgJTYtHZ6EReO3ROGRS_VYnKkYNH6j1CghKfMbRXMmanEB-eaANjk=@rjt.dev> <87y1r9w2sx.fsf@thornhill.no> Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 60025 Cc: Yuan Fu , Eli Zaretskii , 60025@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 15 December 2022 17:40:54 CET, Randy Taylor wrote: >On Thursday, December 15th, 2022 at 02:20, Theodor Thornhill wrote: >>=20 >> Randy Taylor dev@rjt=2Edev writes: >> >> >=20 >> > Thanks Theo, that worked perfectly=2E We should consider adding >> > something like this to the documentation somewhere, since I didn't se= e >> > anything like this anywhere (although maybe I missed it)=2E >>=20 >>=20 >> I'm glad! Could be part of a tips and tricks or something? > >I think it should probably be part of whatever indentation documentation = there is=2E > >>=20 >> No rules for comment? >>=20 >> [=2E=2E=2E] >> >> No rules for comment here either? > >Which rules should I add? > I like to set no-indent in a comment so that indentation commands don't fo= rmat=2E That should be fillings job, imo :) >I see these rules in some of the ts modes: >((and (parent-is "comment") comment-end) comment-start -1) >((parent-is "comment") comment-start-skip 0) > >What are they matching? When could a comment be a parent? In some languages comment has a parent which is a comment=2E Just use insp= ect-mode inside of a comment and see what makes sense :) > >(BTW attached a new patch with an updated NEWS entry after the recent cha= nges there)=2E From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 15 14:45:59 2022 Received: (at 60025) by debbugs.gnu.org; 15 Dec 2022 19:45:59 +0000 Received: from localhost ([127.0.0.1]:44554 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5uB5-0002pj-FY for submit@debbugs.gnu.org; Thu, 15 Dec 2022 14:45:59 -0500 Received: from mail-40136.proton.ch ([185.70.40.136]:56265) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5uB2-0002gS-QK for 60025@debbugs.gnu.org; Thu, 15 Dec 2022 14:45:58 -0500 Date: Thu, 15 Dec 2022 19:45:45 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rjt.dev; s=protonmail2; t=1671133549; x=1671392749; bh=5grOQ/tjRQeP5N+O63mOGeTQeH/5ssM5PqUXcGbXYkk=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=jsJ0Dhx73fOv0aETgjH4a2bfudGU+5P+dWWtqXGNfG9dGYM2RDeRopGMct36JTaOp y9zHLWvPHfxRObybcc1Y2Bv1UtwAt3CdPsCqbBj9NeLIYA+xJ1dfCS8jYYwF8S8JQX EGsVkCx57CTAehbhpQpsLicOBI1qxBPOHJj32kq84Kg5kQ5IV7d27z5kYShnrAyfYG In+HjF7tX1kQgUSZV3qSTaBiLQE7uOTrysNcw4+ZdM6UL/0Ym8dAHDkdPuKBrLCAFq f/OqN/Et3EnpDVkS5AJcgXJeqkpd77kPUDFo4FULLfoUyS5nlsUtbJq6ssAxmDZ805 /2ZGdk/fDvS8w== To: Theodor Thornhill From: Randy Taylor Subject: Re: bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode Message-ID: In-Reply-To: References: <5HEX4A0JH8fd_VGG1FbzJ8QtBZXlHLKtuAGgc_TUHvzKCzU2Q3PYbbi3rUWeLOBoJzg0qsQgVhwGZCF86A2Xg--I2ep5d1KjKoUoHrxXpqA=@rjt.dev> <87zgbpznfa.fsf@thornhill.no> <7fPZo7wRGoWPnr5djOSL0gsOE-Q15-l2y-INvJ7z5QXOpXmV_ct4soqgJTYtHZ6EReO3ROGRS_VYnKkYNH6j1CghKfMbRXMmanEB-eaANjk=@rjt.dev> <87y1r9w2sx.fsf@thornhill.no> Feedback-ID: 44397038:user:proton MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 60025 Cc: Yuan Fu , Eli Zaretskii , 60025@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Thursday, December 15th, 2022 at 13:06, Theodor Thornhill wrote: >=20 > On 15 December 2022 17:40:54 CET, Randy Taylor dev@rjt.dev wrote: >=20 > > Which rules should I add? >=20 >=20 > I like to set no-indent in a comment so that indentation commands don't f= ormat. That should be fillings job, imo :) I don't know if I agree with that since the indentation commands should for= mat comments if they are formatted incorrectly.=20 Fillings as in auto-fill-mode and the fill commands? I'm not familiar with = those, beyond invoking fill-region and whatnot every now and then. I don't = think any of that stuff is on by default though, right? It all requires man= ual invocation? >=20 > > I see these rules in some of the ts modes: > > ((and (parent-is "comment") comment-end) comment-start -1) > > ((parent-is "comment") comment-start-skip 0) > >=20 > > What are they matching? When could a comment be a parent? >=20 >=20 > In some languages comment has a parent which is a comment. Just use inspe= ct-mode inside of a comment and see what makes sense :) c-ts-mode has those queries and I was never able to get a comment node as a= parent so I guess they were either copy-pasted mistakenly or I am missing = the magical invocation? Aside from the aforementioned queries, I don't see any other comment-relate= d indentation queries in any of the modes, and I can't think of any that sh= ould be introduced, at least for these modes. Patch OK to install otherwise? From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 15 14:59:19 2022 Received: (at 60025) by debbugs.gnu.org; 15 Dec 2022 19:59:19 +0000 Received: from localhost ([127.0.0.1]:44612 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5uNz-000302-6r for submit@debbugs.gnu.org; Thu, 15 Dec 2022 14:59:19 -0500 Received: from out2.migadu.com ([188.165.223.204]:25007) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5uNw-0002zw-Dw for 60025@debbugs.gnu.org; Thu, 15 Dec 2022 14:59:17 -0500 X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thornhill.no; s=key1; t=1671134354; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=iEkKTxKBqjhl1oTeKi+R/lRoeFUARgKr0lsWTN9fHG8=; b=xQU+YsM7uxNKFABNOmKlk3uNe9/u6qzMzObeNNDdygl939LTvRzXPaYbNIPODe8ye02Kr1 tjJemZJbwuOhZ+f2QetxgEvLPPSdfkuFxo6XvauyQYgv8Pj2wL9ld4COOLD9yUK8jVJ8R3 14CK348wf7723ydWO3zHNGoIq9O1EhmjIKGBWNS4Buy04rVbbdoZZqZQ6vVKxd8DNkipM4 5HSf3gGYoX07GXNYIA7r+aAaeNmswoSqDKv+LJyO8b04nvVx2LJN8xuQnXTMrazwui4Sww ISgMiNdGL7Hr++7PHl0k+XLwwqVCAPc/I48lyBukhKxtUCB0LgnLAVi0lBZ6oA== From: Theodor Thornhill To: Randy Taylor Subject: Re: bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode In-Reply-To: References: <5HEX4A0JH8fd_VGG1FbzJ8QtBZXlHLKtuAGgc_TUHvzKCzU2Q3PYbbi3rUWeLOBoJzg0qsQgVhwGZCF86A2Xg--I2ep5d1KjKoUoHrxXpqA=@rjt.dev> <87zgbpznfa.fsf@thornhill.no> <7fPZo7wRGoWPnr5djOSL0gsOE-Q15-l2y-INvJ7z5QXOpXmV_ct4soqgJTYtHZ6EReO3ROGRS_VYnKkYNH6j1CghKfMbRXMmanEB-eaANjk=@rjt.dev> <87y1r9w2sx.fsf@thornhill.no> Date: Thu, 15 Dec 2022 20:59:12 +0100 Message-ID: <87y1r8zbe7.fsf@thornhill.no> MIME-Version: 1.0 Content-Type: text/plain X-Migadu-Flow: FLOW_OUT X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 60025 Cc: Yuan Fu , Eli Zaretskii , 60025@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Randy Taylor writes: > On Thursday, December 15th, 2022 at 13:06, Theodor Thornhill wrote: >> >> On 15 December 2022 17:40:54 CET, Randy Taylor dev@rjt.dev wrote: >> >> > Which rules should I add? >> >> >> I like to set no-indent in a comment so that indentation commands don't format. That should be fillings job, imo :) > > I don't know if I agree with that since the indentation commands should format comments if they are formatted incorrectly. > > Fillings as in auto-fill-mode and the fill commands? I'm not familiar with those, beyond invoking fill-region and whatnot every now and then. I don't think any of that stuff is on by default though, right? It all requires manual invocation? > >> >> > I see these rules in some of the ts modes: >> > ((and (parent-is "comment") comment-end) comment-start -1) >> > ((parent-is "comment") comment-start-skip 0) >> > >> > What are they matching? When could a comment be a parent? >> >> >> In some languages comment has a parent which is a comment. Just use inspect-mode inside of a comment and see what makes sense :) > > c-ts-mode has those queries and I was never able to get a comment node as a parent so I guess they were either copy-pasted mistakenly or I am missing the magical invocation? > > Aside from the aforementioned queries, I don't see any other comment-related indentation queries in any of the modes, and I can't think of any that should be introduced, at least for these modes. > > Patch OK to install otherwise? Sure :-) Theo From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 15 15:09:57 2022 Received: (at 60025) by debbugs.gnu.org; 15 Dec 2022 20:09:57 +0000 Received: from localhost ([127.0.0.1]:44665 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5uYG-00037k-Sn for submit@debbugs.gnu.org; Thu, 15 Dec 2022 15:09:57 -0500 Received: from mail-4022.proton.ch ([185.70.40.22]:62083) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5uYD-00037c-9o for 60025@debbugs.gnu.org; Thu, 15 Dec 2022 15:09:55 -0500 Date: Thu, 15 Dec 2022 20:09:38 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rjt.dev; s=protonmail2; t=1671134985; x=1671394185; bh=ZR5iliEZAdM7Phe5QQqDLzMiQEX64p6VV6dZVh0xV68=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=IApB9WwFLSQWvuDnPKG7tr33uWCFBvmQ5yruCO9g/UOuE3K/iLUK8f9lehqaLJBre wzpbUmKijpkSy0x1YI7VCnURi7zTXe6N5XNhar9hZ95UHi8x3kTn6fY2NB8vXUMd86 r4af0PfTkB06LQLFdsAa/BfaTrK9CgiLAcZYV1HPq9umAm1MV8UDfCrdPYLcomLGLX LeWibSd3K1qU+tAOKHvT3VRqNOutNnldX5uatQGa/GJ37mYpGbIe4SpAZ43gtZBA6V 1L/32N2llSoAdT5vI48y8sAMFhzdTeldjbjwM6drFiOq2ZOPbS8gPah9yEimK861Eh ouQZHDB24vOhQ== To: Yuan Fu From: Randy Taylor Subject: Re: bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode Message-ID: In-Reply-To: <87y1r8zbe7.fsf@thornhill.no> References: <87zgbpznfa.fsf@thornhill.no> <7fPZo7wRGoWPnr5djOSL0gsOE-Q15-l2y-INvJ7z5QXOpXmV_ct4soqgJTYtHZ6EReO3ROGRS_VYnKkYNH6j1CghKfMbRXMmanEB-eaANjk=@rjt.dev> <87y1r9w2sx.fsf@thornhill.no> <87y1r8zbe7.fsf@thornhill.no> Feedback-ID: 44397038:user:proton MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_z4hrPIzRyWYWtzeHeDAHIblL2eHMjYZnIwGReM5qI" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 60025 Cc: Eli Zaretskii , Theodor Thornhill , 60025@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --b1_z4hrPIzRyWYWtzeHeDAHIblL2eHMjYZnIwGReM5qI Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On Thursday, December 15th, 2022 at 14:59, Theodor Thornhill wrote: > Randy Taylor dev@rjt.dev writes: >=20 > > Patch OK to install otherwise? >=20 >=20 > Sure :-) >=20 > Theo Thanks. Yuan, I've attached the latest and greatest patch (same as the one a few th= reads up but no need to make you hunt for it ;)). Ready to install whenever= , unless anyone has any other comments. --b1_z4hrPIzRyWYWtzeHeDAHIblL2eHMjYZnIwGReM5qI Content-Type: text/x-patch; name=0001-Add-go-ts-mode-and-go-mod-ts-mode-Bug-60025.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=0001-Add-go-ts-mode-and-go-mod-ts-mode-Bug-60025.patch RnJvbSAyMTRhMWI2NDY2M2M0M2Q5YmE3ZmZhNzQ4YjVkNzczMTZmYmMyYjEyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSYW5keSBUYXlsb3IgPGRldkByanQuZGV2PgpEYXRlOiBTdW4s IDExIERlYyAyMDIyIDE4OjQxOjE2IC0wNTAwClN1YmplY3Q6IFtQQVRDSF0gQWRkIGdvLXRzLW1v ZGUgYW5kIGdvLW1vZC10cy1tb2RlIChCdWcjNjAwMjUpCgoqIGFkbWluL25vdGVzL3RyZWUtc2l0 dGVyL2J1aWxkLW1vZHVsZS9iYXRjaC5zaDoKKiBhZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9idWls ZC1tb2R1bGUvYnVpbGQuc2g6IEFkZCBnby1tb2Qgc3VwcG9ydC4KKiBldGMvTkVXUzogTWVudGlv biB0aGVtLgoqIGxpc3AvcHJvZ21vZGVzL2VnbG90LmVsIChlZ2xvdC1zZXJ2ZXItcHJvZ3JhbXMp OiBBZGQgdGhlbS4KKiBsaXNwL3Byb2dtb2Rlcy9nby10cy1tb2RlLmVsOiBOZXcgbWFqb3IgbW9k ZXMgd2l0aAp0cmVlLXNpdHRlciBzdXBwb3J0LgotLS0KIGFkbWluL25vdGVzL3RyZWUtc2l0dGVy L2J1aWxkLW1vZHVsZS9iYXRjaC5zaCB8ICAgMSArCiBhZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9i dWlsZC1tb2R1bGUvYnVpbGQuc2ggfCAgIDUgKwogZXRjL05FV1MgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICA4ICsKIGxpc3AvcHJvZ21vZGVzL2VnbG90LmVsICAgICAg ICAgICAgICAgICAgICAgICB8ICAgMyArLQogbGlzcC9wcm9nbW9kZXMvZ28tdHMtbW9kZS5lbCAg ICAgICAgICAgICAgICAgIHwgMzU0ICsrKysrKysrKysrKysrKysrKwogNSBmaWxlcyBjaGFuZ2Vk LCAzNzAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGxp c3AvcHJvZ21vZGVzL2dvLXRzLW1vZGUuZWwKCmRpZmYgLS1naXQgYS9hZG1pbi9ub3Rlcy90cmVl LXNpdHRlci9idWlsZC1tb2R1bGUvYmF0Y2guc2ggYi9hZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9i dWlsZC1tb2R1bGUvYmF0Y2guc2gKaW5kZXggZTdlZjQ1Y2Y1Ny4uYzUwYjlkZjM3ZSAxMDA3NTUK LS0tIGEvYWRtaW4vbm90ZXMvdHJlZS1zaXR0ZXIvYnVpbGQtbW9kdWxlL2JhdGNoLnNoCisrKyBi L2FkbWluL25vdGVzL3RyZWUtc2l0dGVyL2J1aWxkLW1vZHVsZS9iYXRjaC5zaApAQCAtOSw2ICs5 LDcgQEAgbGFuZ3VhZ2VzPQogICAgICdjLXNoYXJwJwogICAgICdkb2NrZXJmaWxlJwogICAgICdn bycKKyAgICAnZ28tbW9kJwogICAgICdodG1sJwogICAgICdqYXZhc2NyaXB0JwogICAgICdqc29u JwpkaWZmIC0tZ2l0IGEvYWRtaW4vbm90ZXMvdHJlZS1zaXR0ZXIvYnVpbGQtbW9kdWxlL2J1aWxk LnNoIGIvYWRtaW4vbm90ZXMvdHJlZS1zaXR0ZXIvYnVpbGQtbW9kdWxlL2J1aWxkLnNoCmluZGV4 IDQxOTVlYTU4YzMuLjZkMjIxMjdiZDEgMTAwNzU1Ci0tLSBhL2FkbWluL25vdGVzL3RyZWUtc2l0 dGVyL2J1aWxkLW1vZHVsZS9idWlsZC5zaAorKysgYi9hZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9i dWlsZC1tb2R1bGUvYnVpbGQuc2gKQEAgLTI2LDYgKzI2LDExIEBAIGdyYW1tYXJkaXI9CiAgICAg ImNtYWtlIikKICAgICAgICAgb3JnPSJ1eWhhIgogICAgICAgICA7OworICAgICJnby1tb2QiKQor ICAgICAgICAjIFRoZSBwYXJzZXIgaXMgY2FsbGVkICJnb21vZCIuCisgICAgICAgIGxhbmc9Imdv bW9kIgorICAgICAgICBuYW1lc3BhY2U9ImNhbWRlbmNoZWVrIgorICAgICAgICA7OwogICAgICJ0 eXBlc2NyaXB0IikKICAgICAgICAgc291cmNlZGlyPSJ0cmVlLXNpdHRlci10eXBlc2NyaXB0L3R5 cGVzY3JpcHQvc3JjIgogICAgICAgICBncmFtbWFyZGlyPSJ0cmVlLXNpdHRlci10eXBlc2NyaXB0 L3R5cGVzY3JpcHQiCmRpZmYgLS1naXQgYS9ldGMvTkVXUyBiL2V0Yy9ORVdTCmluZGV4IDZmMGQx ZjY1YmYuLjEyMTcwN2UyZDIgMTAwNjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBA IC0zMDgxLDYgKzMwODEsMTQgQEAgQSBtYWpvciBtb2RlIGJhc2VkIG9uIHRoZSB0cmVlLXNpdHRl ciBsaWJyYXJ5IGZvciBlZGl0aW5nIGZpbGVzCiB3cml0dGVuIGluIFRPTUwsIGEgZm9ybWF0IGZv ciB3cml0aW5nIGNvbmZpZ3VyYXRpb24gZmlsZXMuICBJdCBpcwogYXV0by1lbmFibGVkIGZvciBm aWxlcyB3aXRoIHRoZSAiLnRvbWwiIGV4dGVuc2lvbi4KIAorKioqIE5ldyBtYWpvciBtb2RlICdn by10cy1tb2RlJy4KK0EgbWFqb3IgbW9kZSBiYXNlZCBvbiB0aGUgdHJlZS1zaXR0ZXIgbGlicmFy eSBmb3IgZWRpdGluZyBwcm9ncmFtcyBpbgordGhlIEdvIGxhbmd1YWdlLiAgSXQgaXMgYXV0by1l bmFibGVkIGZvciBmaWxlcyB3aXRoIHRoZSAiLmdvIiBleHRlbnNpb24uCisKKyoqKiBOZXcgbWFq b3IgbW9kZSAnZ28tbW9kLXRzLW1vZGUnLgorQSBtYWpvciBtb2RlIGJhc2VkIG9uIHRoZSB0cmVl LXNpdHRlciBsaWJyYXJ5IGZvciBlZGl0aW5nICJnby5tb2QiCitmaWxlcy4gIEl0IGlzIGF1dG8t ZW5hYmxlZCBmb3IgZmlsZXMgd2hpY2ggYXJlIG5hbWVkICJnby5tb2QiLgorCiAMCiAqIEluY29t cGF0aWJsZSBMaXNwIENoYW5nZXMgaW4gRW1hY3MgMjkuMQogCmRpZmYgLS1naXQgYS9saXNwL3By b2dtb2Rlcy9lZ2xvdC5lbCBiL2xpc3AvcHJvZ21vZGVzL2VnbG90LmVsCmluZGV4IDljNWEzNjFk ZjcuLjAyYmI2YmI2NjUgMTAwNjQ0Ci0tLSBhL2xpc3AvcHJvZ21vZGVzL2VnbG90LmVsCisrKyBi L2xpc3AvcHJvZ21vZGVzL2VnbG90LmVsCkBAIC0yMTEsNyArMjExLDggQEAgZWdsb3Qtc2VydmVy LXByb2dyYW1zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlbG0tbW9kZSAuICgi ZWxtLWxhbmd1YWdlLXNlcnZlciIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo bWludC1tb2RlIC4gKCJtaW50IiAibHMiKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGtvdGxpbi1tb2RlIC4gKCJrb3RsaW4tbGFuZ3VhZ2Utc2VydmVyIikpCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICgoZ28tbW9kZSBnby1kb3QtbW9kLW1vZGUgZ28tZG90LXdv cmstbW9kZSkgLiAoImdvcGxzIikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgo Z28tbW9kZSBnby1kb3QtbW9kLW1vZGUgZ28tZG90LXdvcmstbW9kZSBnby10cy1tb2RlIGdvLW1v ZC10cy1tb2RlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLiAoImdvcGxzIikp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUi1tb2RlIGVzcy1yLW1vZGUpIC4g KCJSIiAiLS1zbGF2ZSIgIi1lIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAibGFuZ3VhZ2VzZXJ2ZXI6OnJ1bigpIikpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICgoamF2YS1tb2RlIGphdmEtdHMtbW9kZSkgLiAoImpkdGxz IikpCmRpZmYgLS1naXQgYS9saXNwL3Byb2dtb2Rlcy9nby10cy1tb2RlLmVsIGIvbGlzcC9wcm9n bW9kZXMvZ28tdHMtbW9kZS5lbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw Li4xMjRkOWIwNDRhCi0tLSAvZGV2L251bGwKKysrIGIvbGlzcC9wcm9nbW9kZXMvZ28tdHMtbW9k ZS5lbApAQCAtMCwwICsxLDM1NCBAQAorOzs7IGdvLXRzLW1vZGUuZWwgLS0tIHRyZWUtc2l0dGVy IHN1cHBvcnQgZm9yIEdvICAtKi0gbGV4aWNhbC1iaW5kaW5nOiB0OyAtKi0KKworOzsgQ29weXJp Z2h0IChDKSAyMDIyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCis7OyBBdXRob3Ig ICAgIDogUmFuZHkgVGF5bG9yIDxkZXZAcmp0LmRldj4KKzs7IE1haW50YWluZXIgOiBSYW5keSBU YXlsb3IgPGRldkByanQuZGV2PgorOzsgQ3JlYXRlZCAgICA6IERlY2VtYmVyIDIwMjIKKzs7IEtl eXdvcmRzICAgOiBnbyBsYW5ndWFnZXMgdHJlZS1zaXR0ZXIKKworOzsgVGhpcyBmaWxlIGlzIHBh cnQgb2YgR05VIEVtYWNzLgorCis7OyBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorOzsgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKzs7IHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2Us IG9yCis7OyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCis7OyBHTlUgRW1h Y3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKzs7 IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCis7OyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuICBTZWUgdGhlCis7OyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk ZXRhaWxzLgorCis7OyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorOzsgYWxvbmcgd2l0aCBHTlUgRW1hY3MuICBJZiBub3Qs IHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCis7OzsgQ29tbWVudGFyeToK Kzs7CisKKzs7OyBDb2RlOgorCisocmVxdWlyZSAndHJlZXNpdCkKKyhldmFsLXdoZW4tY29tcGls ZSAocmVxdWlyZSAncngpKQorCisoZGVjbGFyZS1mdW5jdGlvbiB0cmVlc2l0LXBhcnNlci1jcmVh dGUgInRyZWVzaXQuYyIpCisoZGVjbGFyZS1mdW5jdGlvbiB0cmVlc2l0LWluZHVjZS1zcGFyc2Ut dHJlZSAidHJlZXNpdC5jIikKKyhkZWNsYXJlLWZ1bmN0aW9uIHRyZWVzaXQtbm9kZS1jaGlsZCAi dHJlZXNpdC5jIikKKyhkZWNsYXJlLWZ1bmN0aW9uIHRyZWVzaXQtbm9kZS1jaGlsZC1ieS1maWVs ZC1uYW1lICJ0cmVlc2l0LmMiKQorKGRlY2xhcmUtZnVuY3Rpb24gdHJlZXNpdC1ub2RlLXN0YXJ0 ICJ0cmVlc2l0LmMiKQorKGRlY2xhcmUtZnVuY3Rpb24gdHJlZXNpdC1ub2RlLXR5cGUgInRyZWVz aXQuYyIpCisKKyhkZWZjdXN0b20gZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0IDQKKyAgIk51bWJl ciBvZiBzcGFjZXMgZm9yIGVhY2ggaW5kZW50YXRpb24gc3RlcCBpbiBgZ28tdHMtbW9kZScuIgor ICA6dmVyc2lvbiAiMjkuMSIKKyAgOnR5cGUgJ2ludGVnZXIKKyAgOnNhZmUgJ2ludGVnZXJwCisg IDpncm91cCAnZ28pCisKKyhkZWZ2YXIgZ28tdHMtbW9kZS0tc3ludGF4LXRhYmxlCisgIChsZXQg KCh0YWJsZSAobWFrZS1zeW50YXgtdGFibGUpKSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/ KyAgICIuIiAgICAgIHRhYmxlKQorICAgIChtb2RpZnktc3ludGF4LWVudHJ5ID8tICAgIi4iICAg ICAgdGFibGUpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgPz0gICAiLiIgICAgICB0YWJsZSkK KyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/JSAgICIuIiAgICAgIHRhYmxlKQorICAgIChtb2Rp Znktc3ludGF4LWVudHJ5ID8mICAgIi4iICAgICAgdGFibGUpCisgICAgKG1vZGlmeS1zeW50YXgt ZW50cnkgP3wgICAiLiIgICAgICB0YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/XiAg ICIuIiAgICAgIHRhYmxlKQorICAgIChtb2RpZnktc3ludGF4LWVudHJ5ID8hICAgIi4iICAgICAg dGFibGUpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgPzwgICAiLiIgICAgICB0YWJsZSkKKyAg ICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/PiAgICIuIiAgICAgIHRhYmxlKQorICAgIChtb2RpZnkt c3ludGF4LWVudHJ5ID9cXCAgIlxcIiAgICAgdGFibGUpCisgICAgKG1vZGlmeS1zeW50YXgtZW50 cnkgPy8gICAiLiAxMjRiIiB0YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/KiAgICIu IDIzIiAgIHRhYmxlKQorICAgIChtb2RpZnktc3ludGF4LWVudHJ5ID9cbiAgIj4gYiIgICAgdGFi bGUpCisgICAgdGFibGUpCisgICJTeW50YXggdGFibGUgZm9yIGBnby10cy1tb2RlJy4iKQorCiso ZGVmdmFyIGdvLXRzLW1vZGUtLWluZGVudC1ydWxlcworICBgKChnbworICAgICAoKG5vZGUtaXMg IikiKSBwYXJlbnQtYm9sIDApCisgICAgICgobm9kZS1pcyAiXSIpIHBhcmVudC1ib2wgMCkKKyAg ICAgKChub2RlLWlzICJ9IikgcGFyZW50LWJvbCAwKQorICAgICAoKG5vZGUtaXMgImxhYmVsZWRf c3RhdGVtZW50Iikgbm8taW5kZW50KQorICAgICAoKHBhcmVudC1pcyAiYXJndW1lbnRfbGlzdCIp IHBhcmVudC1ib2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAi YmxvY2siKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChwYXJl bnQtaXMgImNvbnN0X2RlY2xhcmF0aW9uIikgcGFyZW50LWJvbCBnby10cy1tb2RlLWluZGVudC1v ZmZzZXQpCisgICAgICgocGFyZW50LWlzICJkZWZhdWx0X2Nhc2UiKSBwYXJlbnQtYm9sIGdvLXRz LW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChwYXJlbnQtaXMgImV4cHJlc3Npb25fY2FzZSIp IHBhcmVudC1ib2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAi ZXhwcmVzc2lvbl9zd2l0Y2hfc3RhdGVtZW50IikgcGFyZW50LWJvbCAwKQorICAgICAoKHBhcmVu dC1pcyAiZmllbGRfZGVjbGFyYXRpb25fbGlzdCIpIHBhcmVudC1ib2wgZ28tdHMtbW9kZS1pbmRl bnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAiaW1wb3J0X3NwZWNfbGlzdCIpIHBhcmVudC1i b2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAibGFiZWxlZF9z dGF0ZW1lbnQiKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChw YXJlbnQtaXMgImxpdGVyYWxfdmFsdWUiKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9m ZnNldCkKKyAgICAgKChwYXJlbnQtaXMgInR5cGVfc3BlYyIpIHBhcmVudC1ib2wgZ28tdHMtbW9k ZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAidmFyX2RlY2xhcmF0aW9uIikgcGFy ZW50LWJvbCBnby10cy1tb2RlLWluZGVudC1vZmZzZXQpCisgICAgIChuby1ub2RlIHBhcmVudC1i b2wgMCkpKQorICAiVHJlZS1zaXR0ZXIgaW5kZW50IHJ1bGVzIGZvciBgZ28tdHMtbW9kZScuIikK KworKGRlZnZhciBnby10cy1tb2RlLS1rZXl3b3JkcworICAnKCJicmVhayIgImNhc2UiICJjaGFu IiAiY29uc3QiICJjb250aW51ZSIgImRlZmF1bHQiICJkZWZlciIgImVsc2UiCisgICAgImZhbGx0 aHJvdWdoIiAiZm9yIiAiZnVuYyIgImdvIiAiZ290byIgImlmIiAiaW1wb3J0IiAiaW50ZXJmYWNl IiAibWFwIgorICAgICJwYWNrYWdlIiAicmFuZ2UiICJyZXR1cm4iICJzZWxlY3QiICJzdHJ1Y3Qi ICJzd2l0Y2giICJ0eXBlIiAidmFyIikKKyAgIkdvIGtleXdvcmRzIGZvciB0cmVlLXNpdHRlciBm b250LWxvY2tpbmcuIikKKworKGRlZnZhciBnby10cy1tb2RlLS1vcGVyYXRvcnMKKyAgJygiKyIg IiYiICIrPSIgIiY9IiAiJiYiICI9PSIgIiE9IiAiLSIgInwiICItPSIgInw9IiAifHwiICI8IiAi PD0iCisgICAgIioiICJeIiAiKj0iICJePSIgIjwtIiAiPiIgIj49IiAiLyIgIjw8IiAiLz0iICI8 PD0iICIrKyIgIj0iICI6PSIgIiUiCisgICAgIj4+IiAiJT0iICI+Pj0iICItLSIgIiEiICAiLi4u IiAgIiZeIiAiJl49IiAifiIpCisgICJHbyBvcGVyYXRvcnMgZm9yIHRyZWUtc2l0dGVyIGZvbnQt bG9ja2luZy4iKQorCisoZGVmdmFyIGdvLXRzLW1vZGUtLWZvbnQtbG9jay1zZXR0aW5ncworICAo dHJlZXNpdC1mb250LWxvY2stcnVsZXMKKyAgIDpsYW5ndWFnZSAnZ28KKyAgIDpmZWF0dXJlICdi cmFja2V0CisgICAnKChbIigiICIpIiAiWyIgIl0iICJ7IiAifSJdKSBAZm9udC1sb2NrLWJyYWNr ZXQtZmFjZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUgJ2NvbW1lbnQKKyAgICco KGNvbW1lbnQpIEBmb250LWxvY2stY29tbWVudC1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisg ICA6ZmVhdHVyZSAnY29uc3RhbnQKKyAgICcoWyhmYWxzZSkgKGlvdGEpIChuaWwpICh0cnVlKV0g QGZvbnQtbG9jay1jb25zdGFudC1mYWNlCisgICAgIChjb25zdF9kZWNsYXJhdGlvbgorICAgICAg KGNvbnN0X3NwZWMgbmFtZTogKGlkZW50aWZpZXIpIEBmb250LWxvY2stY29uc3RhbnQtZmFjZSkp KQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAnZGVsaW1pdGVyCisgICAnKChbIiwi ICIuIiAiOyIgIjoiXSkgQGZvbnQtbG9jay1kZWxpbWl0ZXItZmFjZSkKKworICAgOmxhbmd1YWdl ICdnbworICAgOmZlYXR1cmUgJ2Z1bmN0aW9uCisgICAnKChjYWxsX2V4cHJlc3Npb24KKyAgICAg IGZ1bmN0aW9uOiAoaWRlbnRpZmllcikgQGZvbnQtbG9jay1mdW5jdGlvbi1uYW1lLWZhY2UpCisg ICAgIChjYWxsX2V4cHJlc3Npb24KKyAgICAgIGZ1bmN0aW9uOiAoc2VsZWN0b3JfZXhwcmVzc2lv bgorICAgICAgICAgICAgICAgICBmaWVsZDogKGZpZWxkX2lkZW50aWZpZXIpIEBmb250LWxvY2st ZnVuY3Rpb24tbmFtZS1mYWNlKSkKKyAgICAgKGZ1bmN0aW9uX2RlY2xhcmF0aW9uCisgICAgICBu YW1lOiAoaWRlbnRpZmllcikgQGZvbnQtbG9jay1mdW5jdGlvbi1uYW1lLWZhY2UpCisgICAgICht ZXRob2RfZGVjbGFyYXRpb24KKyAgICAgIG5hbWU6IChmaWVsZF9pZGVudGlmaWVyKSBAZm9udC1s b2NrLWZ1bmN0aW9uLW5hbWUtZmFjZSkpCisKKyAgIDpsYW5ndWFnZSAnZ28KKyAgIDpmZWF0dXJl ICdrZXl3b3JkCisgICBgKFssQGdvLXRzLW1vZGUtLWtleXdvcmRzXSBAZm9udC1sb2NrLWtleXdv cmQtZmFjZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUgJ2xhYmVsCisgICAnKChs YWJlbF9uYW1lKSBAZm9udC1sb2NrLWNvbnN0YW50LWZhY2UpCisKKyAgIDpsYW5ndWFnZSAnZ28K KyAgIDpmZWF0dXJlICdudW1iZXIKKyAgICcoWyhmbG9hdF9saXRlcmFsKQorICAgICAgKGltYWdp bmFyeV9saXRlcmFsKQorICAgICAgKGludF9saXRlcmFsKV0gQGZvbnQtbG9jay1udW1iZXItZmFj ZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUgJ3N0cmluZworICAgJyhbKGludGVy cHJldGVkX3N0cmluZ19saXRlcmFsKQorICAgICAgKHJhd19zdHJpbmdfbGl0ZXJhbCkKKyAgICAg IChydW5lX2xpdGVyYWwpXSBAZm9udC1sb2NrLXN0cmluZy1mYWNlKQorCisgICA6bGFuZ3VhZ2Ug J2dvCisgICA6ZmVhdHVyZSAndHlwZQorICAgJyhbKHBhY2thZ2VfaWRlbnRpZmllcikgKHR5cGVf aWRlbnRpZmllcildIEBmb250LWxvY2stdHlwZS1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisg ICA6ZmVhdHVyZSAndmFyaWFibGUKKyAgICcoKGlkZW50aWZpZXIpIEBmb250LWxvY2stdmFyaWFi bGUtbmFtZS1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAnZXNjYXBlLXNl cXVlbmNlCisgICA6b3ZlcnJpZGUgdAorICAgJygoZXNjYXBlX3NlcXVlbmNlKSBAZm9udC1sb2Nr LWVzY2FwZS1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAncHJvcGVydHkK KyAgIDpvdmVycmlkZSB0CisgICAnKChmaWVsZF9pZGVudGlmaWVyKSBAZm9udC1sb2NrLXByb3Bl cnR5LWZhY2UKKyAgICAgKGtleWVkX2VsZW1lbnQgKF8gKGlkZW50aWZpZXIpIEBmb250LWxvY2st cHJvcGVydHktZmFjZSkpKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAnZXJyb3IK KyAgIDpvdmVycmlkZSB0CisgICAnKChFUlJPUikgQGZvbnQtbG9jay13YXJuaW5nLWZhY2UpKQor ICAiVHJlZS1zaXR0ZXIgZm9udC1sb2NrIHNldHRpbmdzIGZvciBgZ28tdHMtbW9kZScuIikKKwor KGRlZnVuIGdvLXRzLW1vZGUtLWltZW51ICgpCisgICJSZXR1cm4gSW1lbnUgYWxpc3QgZm9yIHRo ZSBjdXJyZW50IGJ1ZmZlci4iCisgIChsZXQqICgobm9kZSAodHJlZXNpdC1idWZmZXItcm9vdC1u b2RlKSkKKyAgICAgICAgIChmdW5jLXRyZWUgKHRyZWVzaXQtaW5kdWNlLXNwYXJzZS10cmVlCisg ICAgICAgICAgICAgICAgICAgICBub2RlICJmdW5jdGlvbl9kZWNsYXJhdGlvbiIgbmlsIDEwMDAp KQorICAgICAgICAgKHR5cGUtdHJlZSAodHJlZXNpdC1pbmR1Y2Utc3BhcnNlLXRyZWUKKyAgICAg ICAgICAgICAgICAgICAgIG5vZGUgInR5cGVfc3BlYyIgbmlsIDEwMDApKQorICAgICAgICAgKGZ1 bmMtaW5kZXggKGdvLXRzLW1vZGUtLWltZW51LTEgZnVuYy10cmVlKSkKKyAgICAgICAgICh0eXBl LWluZGV4IChnby10cy1tb2RlLS1pbWVudS0xIHR5cGUtdHJlZSkpKQorICAgIChhcHBlbmQKKyAg ICAgKHdoZW4gZnVuYy1pbmRleCBgKCgiRnVuY3Rpb24iIC4gLGZ1bmMtaW5kZXgpKSkKKyAgICAg KHdoZW4gdHlwZS1pbmRleCBgKCgiVHlwZSIgLiAsdHlwZS1pbmRleCkpKSkpKQorCisoZGVmdW4g Z28tdHMtbW9kZS0taW1lbnUtMSAobm9kZSkKKyAgIkhlbHBlciBmb3IgYGdvLXRzLW1vZGUtLWlt ZW51Jy4KK0ZpbmQgc3RyaW5nIHJlcHJlc2VudGF0aW9uIGZvciBOT0RFIGFuZCBzZXQgbWFya2Vy LCB0aGVuIHJlY3Vyc2UKK3RoZSBzdWJ0cmVlcy4iCisgIChsZXQqICgodHMtbm9kZSAoY2FyIG5v ZGUpKQorICAgICAgICAgKGNoaWxkcmVuIChjZHIgbm9kZSkpCisgICAgICAgICAoc3VidHJlZXMg KG1hcGNhbiAjJ2dvLXRzLW1vZGUtLWltZW51LTEKKyAgICAgICAgICAgICAgICAgICAgICAgICAg IGNoaWxkcmVuKSkKKyAgICAgICAgIChuYW1lICh3aGVuIHRzLW5vZGUKKyAgICAgICAgICAgICAg ICAgKHRyZWVzaXQtbm9kZS10ZXh0CisgICAgICAgICAgICAgICAgICAocGNhc2UgKHRyZWVzaXQt bm9kZS10eXBlIHRzLW5vZGUpCisgICAgICAgICAgICAgICAgICAgICgiZnVuY3Rpb25fZGVjbGFy YXRpb24iCisgICAgICAgICAgICAgICAgICAgICAodHJlZXNpdC1ub2RlLWNoaWxkLWJ5LWZpZWxk LW5hbWUgdHMtbm9kZSAibmFtZSIpKQorICAgICAgICAgICAgICAgICAgICAoInR5cGVfc3BlYyIK KyAgICAgICAgICAgICAgICAgICAgICh0cmVlc2l0LW5vZGUtY2hpbGQtYnktZmllbGQtbmFtZSB0 cy1ub2RlICJuYW1lIikpKSkpKQorICAgICAgICAgKG1hcmtlciAod2hlbiB0cy1ub2RlCisgICAg ICAgICAgICAgICAgICAgKHNldC1tYXJrZXIgKG1ha2UtbWFya2VyKQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICh0cmVlc2l0LW5vZGUtc3RhcnQgdHMtbm9kZSkpKSkpCisgICAgKGNv bmQKKyAgICAgKChvciAobnVsbCB0cy1ub2RlKSAobnVsbCBuYW1lKSkgc3VidHJlZXMpCisgICAg IChzdWJ0cmVlcworICAgICAgYCgoLG5hbWUgLChjb25zIG5hbWUgbWFya2VyKSAsQHN1YnRyZWVz KSkpCisgICAgICh0CisgICAgICBgKCgsbmFtZSAuICxtYXJrZXIpKSkpKSkKKworOzs7IyMjYXV0 b2xvYWQKKyhhZGQtdG8tbGlzdCAnYXV0by1tb2RlLWFsaXN0ICcoIlxcLmdvXFwnIiAuIGdvLXRz LW1vZGUpKQorCis7OzsjIyNhdXRvbG9hZAorKGRlZmluZS1kZXJpdmVkLW1vZGUgZ28tdHMtbW9k ZSBwcm9nLW1vZGUgIkdvIgorICAiTWFqb3IgbW9kZSBmb3IgZWRpdGluZyBHbywgcG93ZXJlZCBi eSB0cmVlLXNpdHRlci4iCisgIDpncm91cCAnZ28KKyAgOnN5bnRheC10YWJsZSBnby10cy1tb2Rl LS1zeW50YXgtdGFibGUKKworICAod2hlbiAodHJlZXNpdC1yZWFkeS1wICdnbykKKyAgICAodHJl ZXNpdC1wYXJzZXItY3JlYXRlICdnbykKKworICAgIDs7IENvbW1lbnRzLgorICAgIChzZXRxLWxv Y2FsIGNvbW1lbnQtc3RhcnQgIi8vICIpCisgICAgKHNldHEtbG9jYWwgY29tbWVudC1lbmQgIiIp CisgICAgKHNldHEtbG9jYWwgY29tbWVudC1zdGFydC1za2lwIChyeCAiLy8iICgqIChzeW50YXgg d2hpdGVzcGFjZSkpKSkKKworICAgIDs7IEltZW51LgorICAgIChzZXRxLWxvY2FsIGltZW51LWNy ZWF0ZS1pbmRleC1mdW5jdGlvbiAjJ2dvLXRzLW1vZGUtLWltZW51KQorICAgIChzZXRxLWxvY2Fs IHdoaWNoLWZ1bmMtZnVuY3Rpb25zIG5pbCkKKworICAgIDs7IEluZGVudC4KKyAgICAoc2V0cS1s b2NhbCBpbmRlbnQtdGFicy1tb2RlIHQKKyAgICAgICAgICAgICAgICB0cmVlc2l0LXNpbXBsZS1p bmRlbnQtcnVsZXMgZ28tdHMtbW9kZS0taW5kZW50LXJ1bGVzKQorCisgICAgOzsgRm9udC1sb2Nr LgorICAgIChzZXRxLWxvY2FsIHRyZWVzaXQtZm9udC1sb2NrLXNldHRpbmdzIGdvLXRzLW1vZGUt LWZvbnQtbG9jay1zZXR0aW5ncykKKyAgICAoc2V0cS1sb2NhbCB0cmVlc2l0LWZvbnQtbG9jay1m ZWF0dXJlLWxpc3QKKyAgICAgICAgICAgICAgICAnKCggY29tbWVudCkKKyAgICAgICAgICAgICAg ICAgICgga2V5d29yZCBzdHJpbmcgdHlwZSkKKyAgICAgICAgICAgICAgICAgICggY29uc3RhbnQg ZXNjYXBlLXNlcXVlbmNlIGZ1bmN0aW9uIGxhYmVsIG51bWJlcgorICAgICAgICAgICAgICAgICAg ICBwcm9wZXJ0eSB2YXJpYWJsZSkKKyAgICAgICAgICAgICAgICAgICggYnJhY2tldCBkZWxpbWl0 ZXIgZXJyb3Igb3BlcmF0b3IpKSkKKworICAgICh0cmVlc2l0LW1ham9yLW1vZGUtc2V0dXApKSkK KworOzsgZ28ubW9kIHN1cHBvcnQuCisKKyhkZWZ2YXIgZ28tbW9kLXRzLW1vZGUtLXN5bnRheC10 YWJsZQorICAobGV0ICgodGFibGUgKG1ha2Utc3ludGF4LXRhYmxlKSkpCisgICAgKG1vZGlmeS1z eW50YXgtZW50cnkgPy8gICAiLiAxMjRiIiB0YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRy eSA/XG4gICI+IGIiICAgIHRhYmxlKQorICAgIHRhYmxlKQorICAiU3ludGF4IHRhYmxlIGZvciBg Z28tbW9kLXRzLW1vZGUnLiIpCisKKyhkZWZ2YXIgZ28tbW9kLXRzLW1vZGUtLWluZGVudC1ydWxl cworICBgKChnb21vZAorICAgICAoKG5vZGUtaXMgIikiKSBwYXJlbnQtYm9sIDApCisgICAgICgo cGFyZW50LWlzICJleGNsdWRlX2RpcmVjdGl2ZSIpIHBhcmVudC1ib2wgZ28tdHMtbW9kZS1pbmRl bnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAibW9kdWxlX2RpcmVjdGl2ZSIpIHBhcmVudC1i b2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAicmVwbGFjZV9k aXJlY3RpdmUiKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChw YXJlbnQtaXMgInJlcXVpcmVfZGlyZWN0aXZlIikgcGFyZW50LWJvbCBnby10cy1tb2RlLWluZGVu dC1vZmZzZXQpCisgICAgICgocGFyZW50LWlzICJyZXRyYWN0X2RpcmVjdGl2ZSIpIHBhcmVudC1i b2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKGdvLW1vZC10cy1tb2RlLS1pbi1k aXJlY3RpdmUtcCkgbm8taW5kZW50IGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKG5v LW5vZGUgbm8taW5kZW50IDApKSkKKyAgIlRyZWUtc2l0dGVyIGluZGVudCBydWxlcyBmb3IgYGdv LW1vZC10cy1tb2RlJy4iKQorCisoZGVmdW4gZ28tbW9kLXRzLW1vZGUtLWluLWRpcmVjdGl2ZS1w ICgpCisgICJSZXR1cm4gbm9uLW5pbCBpZiBpbnNpZGUgYSBkaXJlY3RpdmUuCitXaGVuIGVudGVy aW5nIGFuIGVtcHR5IGRpcmVjdGl2ZSBvciBhZGRpbmcgYSBuZXcgZW50cnkgdG8gb25lLCBubyBu b2RlCit3aWxsIGJlIHByZXNlbnQgbWVhbmluZyBub25lIG9mIHRoZSBpbmRlbnRhdGlvbiBydWxl cyB3aWxsIG1hdGNoLAorYmVjYXVzZSB0aGVyZSBpcyBubyBwYXJlbnQgdG8gbWF0Y2ggYWdhaW5z dC4gIFRoaXMgZnVuY3Rpb24gZGV0ZXJtaW5lcword2hhdCB0aGUgcGFyZW50IG9mIHRoZSBub2Rl IHdvdWxkIGJlIGlmIGl0IHdlcmUgYSBub2RlLiIKKyAgKGxhbWJkYSAobm9kZSBfIF8gJnJlc3Qg XykKKyAgICAodW5sZXNzICh0cmVlc2l0LW5vZGUtdHlwZSBub2RlKQorICAgICAgKHNhdmUtZXhj dXJzaW9uCisgICAgICAgIChiYWNrd2FyZC11cC1saXN0KQorICAgICAgICAoYmFjay10by1pbmRl bnRhdGlvbikKKyAgICAgICAgKHBjYXNlICh0cmVlc2l0LW5vZGUtdHlwZSAodHJlZXNpdC1ub2Rl LWF0IChwb2ludCkpKQorICAgICAgICAgICgiZXhjbHVkZSIgdCkKKyAgICAgICAgICAoIm1vZHVs ZSIgdCkKKyAgICAgICAgICAoInJlcGxhY2UiIHQpCisgICAgICAgICAgKCJyZXF1aXJlIiB0KQor ICAgICAgICAgICgicmV0cmFjdCIgdCkpKSkpKQorCisoZGVmdmFyIGdvLW1vZC10cy1tb2RlLS1r ZXl3b3JkcworICAnKCJleGNsdWRlIiAiZ28iICJtb2R1bGUiICJyZXBsYWNlIiAicmVxdWlyZSIg InJldHJhY3QiKQorICAiZ28ubW9kIGtleXdvcmRzIGZvciB0cmVlLXNpdHRlciBmb250LWxvY2tp bmcuIikKKworKGRlZnZhciBnby1tb2QtdHMtbW9kZS0tZm9udC1sb2NrLXNldHRpbmdzCisgICh0 cmVlc2l0LWZvbnQtbG9jay1ydWxlcworICAgOmxhbmd1YWdlICdnb21vZAorICAgOmZlYXR1cmUg J2JyYWNrZXQKKyAgICcoKFsiKCIgIikiXSkgQGZvbnQtbG9jay1icmFja2V0LWZhY2UpCisKKyAg IDpsYW5ndWFnZSAnZ29tb2QKKyAgIDpmZWF0dXJlICdjb21tZW50CisgICAnKChjb21tZW50KSBA Zm9udC1sb2NrLWNvbW1lbnQtZmFjZSkKKworICAgOmxhbmd1YWdlICdnb21vZAorICAgOmZlYXR1 cmUgJ2tleXdvcmQKKyAgIGAoWyxAZ28tbW9kLXRzLW1vZGUtLWtleXdvcmRzXSBAZm9udC1sb2Nr LWtleXdvcmQtZmFjZSkKKworICAgOmxhbmd1YWdlICdnb21vZAorICAgOmZlYXR1cmUgJ251bWJl cgorICAgJyhbKGdvX3ZlcnNpb24pICh2ZXJzaW9uKV0gQGZvbnQtbG9jay1udW1iZXItZmFjZSkK KworICAgOmxhbmd1YWdlICdnb21vZAorICAgOmZlYXR1cmUgJ29wZXJhdG9yCisgICAnKChbIj0+ Il0pIEBmb250LWxvY2stb3BlcmF0b3ItZmFjZSkKKworICAgOmxhbmd1YWdlICdnb21vZAorICAg OmZlYXR1cmUgJ2Vycm9yCisgICA6b3ZlcnJpZGUgdAorICAgJygoRVJST1IpIEBmb250LWxvY2st d2FybmluZy1mYWNlKSkKKyAgIlRyZWUtc2l0dGVyIGZvbnQtbG9jayBzZXR0aW5ncyBmb3IgYGdv LW1vZC10cy1tb2RlJy4iKQorCis7OzsjIyNhdXRvbG9hZAorKGFkZC10by1saXN0ICdhdXRvLW1v ZGUtYWxpc3QgJygiL2dvXFwubW9kXFwnIiAuIGdvLW1vZC10cy1tb2RlKSkKKworOzs7IyMjYXV0 b2xvYWQKKyhkZWZpbmUtZGVyaXZlZC1tb2RlIGdvLW1vZC10cy1tb2RlIHByb2ctbW9kZSAiR28g TW9kIgorICAiTWFqb3IgbW9kZSBmb3IgZWRpdGluZyBnby5tb2QgZmlsZXMsIHBvd2VyZWQgYnkg dHJlZS1zaXR0ZXIuIgorICA6Z3JvdXAgJ2dvCisgIDpzeW50YXgtdGFibGUgZ28tbW9kLXRzLW1v ZGUtLXN5bnRheC10YWJsZQorCisgICh3aGVuICh0cmVlc2l0LXJlYWR5LXAgJ2dvbW9kKQorICAg ICh0cmVlc2l0LXBhcnNlci1jcmVhdGUgJ2dvbW9kKQorCisgICAgOzsgQ29tbWVudHMuCisgICAg KHNldHEtbG9jYWwgY29tbWVudC1zdGFydCAiLy8gIikKKyAgICAoc2V0cS1sb2NhbCBjb21tZW50 LWVuZCAiIikKKyAgICAoc2V0cS1sb2NhbCBjb21tZW50LXN0YXJ0LXNraXAgKHJ4ICIvLyIgKCog KHN5bnRheCB3aGl0ZXNwYWNlKSkpKQorCisgICAgOzsgSW5kZW50LgorICAgIChzZXRxLWxvY2Fs IGluZGVudC10YWJzLW1vZGUgdAorICAgICAgICAgICAgICAgIHRyZWVzaXQtc2ltcGxlLWluZGVu dC1ydWxlcyBnby1tb2QtdHMtbW9kZS0taW5kZW50LXJ1bGVzKQorCisgICAgOzsgRm9udC1sb2Nr LgorICAgIChzZXRxLWxvY2FsIHRyZWVzaXQtZm9udC1sb2NrLXNldHRpbmdzIGdvLW1vZC10cy1t b2RlLS1mb250LWxvY2stc2V0dGluZ3MpCisgICAgKHNldHEtbG9jYWwgdHJlZXNpdC1mb250LWxv Y2stZmVhdHVyZS1saXN0CisgICAgICAgICAgICAgICAgJygoY29tbWVudCkKKyAgICAgICAgICAg ICAgICAgIChrZXl3b3JkKQorICAgICAgICAgICAgICAgICAgKG51bWJlcikKKyAgICAgICAgICAg ICAgICAgIChicmFja2V0IGVycm9yIG9wZXJhdG9yKSkpCisKKyAgICAodHJlZXNpdC1tYWpvci1t b2RlLXNldHVwKSkpCisKKyhwcm92aWRlICdnby10cy1tb2RlKQorCis7OzsgZ28tdHMtbW9kZS5l bCBlbmRzIGhlcmUKLS0gCjIuMzkuMAoK --b1_z4hrPIzRyWYWtzeHeDAHIblL2eHMjYZnIwGReM5qI-- From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 15 17:23:17 2022 Received: (at 60025) by debbugs.gnu.org; 15 Dec 2022 22:23:17 +0000 Received: from localhost ([127.0.0.1]:45277 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5wdI-0004a9-Nn for submit@debbugs.gnu.org; Thu, 15 Dec 2022 17:23:17 -0500 Received: from mail-4022.proton.ch ([185.70.40.22]:41377) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5wdG-0004a3-0N for 60025@debbugs.gnu.org; Thu, 15 Dec 2022 17:23:15 -0500 Date: Thu, 15 Dec 2022 22:22:59 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rjt.dev; s=protonmail2; t=1671142987; x=1671402187; bh=bjwtf2PKQZWk7qlvKMB2yhQfx3XX4STHMGiQ/66gKQo=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=aBAWzJTCszKHJDyKF+11Fqt368On3MNrXAmXTIoxNw1iFaiJJV3/BKleI2bSPbI0h ItUIrdYTKeeY1xBsxM8r3Pl27a6c2Fn28X36LPDm8aYvpOfHa/3DFAHBXC6gRbOOla UG7uDKeeTWmJJLINWC1x4163PfQagYpKBGTuijguSm/2N6VxzaOF0YPkJDJLsrddqD IzfZQl0m3aAbyhlie4sZyluiM1WSndeGYWM82oRuxh+Ok+S63VvJA1XU94f9pT8ozk Hk/4yPjFcfmBtPtKf6V/bWgCDDpgSHfCd5nXAObkZwtlAquy2kwJ2Vhx37x+48PSCz T92Aj/DUpa7Fg== To: Yuan Fu From: Randy Taylor Subject: Re: bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode Message-ID: In-Reply-To: References: <87zgbpznfa.fsf@thornhill.no> <7fPZo7wRGoWPnr5djOSL0gsOE-Q15-l2y-INvJ7z5QXOpXmV_ct4soqgJTYtHZ6EReO3ROGRS_VYnKkYNH6j1CghKfMbRXMmanEB-eaANjk=@rjt.dev> <87y1r9w2sx.fsf@thornhill.no> <87y1r8zbe7.fsf@thornhill.no> Feedback-ID: 44397038:user:proton MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_PSne8v89CFs2pD0oxdxGxIx7KoWsnsVARq7EqFgwgE" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 60025 Cc: Eli Zaretskii , Theodor Thornhill , 60025@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --b1_PSne8v89CFs2pD0oxdxGxIx7KoWsnsVARq7EqFgwgE Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On Thursday, December 15th, 2022 at 15:09, Randy Taylor wrote= : >=20 > On Thursday, December 15th, 2022 at 14:59, Theodor Thornhill theo@thornhi= ll.no wrote: >=20 > > Randy Taylor dev@rjt.dev writes: > >=20 > > > Patch OK to install otherwise? > >=20 > > Sure :-) > >=20 > > Theo >=20 >=20 > Thanks. >=20 > Yuan, I've attached the latest and greatest patch (same as the one a few = threads up but no need to make you hunt for it ;)). Ready to install whenev= er, unless anyone has any other comments. Sorry, THIS attached patch is the latest and greatest patch. build.sh was c= hanged recently renaming namespace to org, so I made that adjustment. --b1_PSne8v89CFs2pD0oxdxGxIx7KoWsnsVARq7EqFgwgE Content-Type: text/x-patch; name=0001-Add-go-ts-mode-and-go-mod-ts-mode-Bug-60025.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=0001-Add-go-ts-mode-and-go-mod-ts-mode-Bug-60025.patch RnJvbSAzYTQzMjdmYzMzMWM1ZDk4NzY3MzRhNGJlMjEwNjY4YmI1OTU3MTE5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSYW5keSBUYXlsb3IgPGRldkByanQuZGV2PgpEYXRlOiBTdW4s IDExIERlYyAyMDIyIDE4OjQxOjE2IC0wNTAwClN1YmplY3Q6IFtQQVRDSF0gQWRkIGdvLXRzLW1v ZGUgYW5kIGdvLW1vZC10cy1tb2RlIChCdWcjNjAwMjUpCgoqIGFkbWluL25vdGVzL3RyZWUtc2l0 dGVyL2J1aWxkLW1vZHVsZS9iYXRjaC5zaDoKKiBhZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9idWls ZC1tb2R1bGUvYnVpbGQuc2g6IEFkZCBnby1tb2Qgc3VwcG9ydC4KKiBldGMvTkVXUzogTWVudGlv biB0aGVtLgoqIGxpc3AvcHJvZ21vZGVzL2VnbG90LmVsIChlZ2xvdC1zZXJ2ZXItcHJvZ3JhbXMp OiBBZGQgdGhlbS4KKiBsaXNwL3Byb2dtb2Rlcy9nby10cy1tb2RlLmVsOiBOZXcgbWFqb3IgbW9k ZXMgd2l0aAp0cmVlLXNpdHRlciBzdXBwb3J0LgotLS0KIGFkbWluL25vdGVzL3RyZWUtc2l0dGVy L2J1aWxkLW1vZHVsZS9iYXRjaC5zaCB8ICAgMSArCiBhZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9i dWlsZC1tb2R1bGUvYnVpbGQuc2ggfCAgIDUgKwogZXRjL05FV1MgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICA4ICsKIGxpc3AvcHJvZ21vZGVzL2VnbG90LmVsICAgICAg ICAgICAgICAgICAgICAgICB8ICAgMyArLQogbGlzcC9wcm9nbW9kZXMvZ28tdHMtbW9kZS5lbCAg ICAgICAgICAgICAgICAgIHwgMzU0ICsrKysrKysrKysrKysrKysrKwogNSBmaWxlcyBjaGFuZ2Vk LCAzNzAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGxp c3AvcHJvZ21vZGVzL2dvLXRzLW1vZGUuZWwKCmRpZmYgLS1naXQgYS9hZG1pbi9ub3Rlcy90cmVl LXNpdHRlci9idWlsZC1tb2R1bGUvYmF0Y2guc2ggYi9hZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9i dWlsZC1tb2R1bGUvYmF0Y2guc2gKaW5kZXggZTdlZjQ1Y2Y1Ny4uYzUwYjlkZjM3ZSAxMDA3NTUK LS0tIGEvYWRtaW4vbm90ZXMvdHJlZS1zaXR0ZXIvYnVpbGQtbW9kdWxlL2JhdGNoLnNoCisrKyBi L2FkbWluL25vdGVzL3RyZWUtc2l0dGVyL2J1aWxkLW1vZHVsZS9iYXRjaC5zaApAQCAtOSw2ICs5 LDcgQEAgbGFuZ3VhZ2VzPQogICAgICdjLXNoYXJwJwogICAgICdkb2NrZXJmaWxlJwogICAgICdn bycKKyAgICAnZ28tbW9kJwogICAgICdodG1sJwogICAgICdqYXZhc2NyaXB0JwogICAgICdqc29u JwpkaWZmIC0tZ2l0IGEvYWRtaW4vbm90ZXMvdHJlZS1zaXR0ZXIvYnVpbGQtbW9kdWxlL2J1aWxk LnNoIGIvYWRtaW4vbm90ZXMvdHJlZS1zaXR0ZXIvYnVpbGQtbW9kdWxlL2J1aWxkLnNoCmluZGV4 IDQxOTVlYTU4YzMuLmI2YzgzZWE5YjkgMTAwNzU1Ci0tLSBhL2FkbWluL25vdGVzL3RyZWUtc2l0 dGVyL2J1aWxkLW1vZHVsZS9idWlsZC5zaAorKysgYi9hZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9i dWlsZC1tb2R1bGUvYnVpbGQuc2gKQEAgLTI2LDYgKzI2LDExIEBAIGdyYW1tYXJkaXI9CiAgICAg ImNtYWtlIikKICAgICAgICAgb3JnPSJ1eWhhIgogICAgICAgICA7OworICAgICJnby1tb2QiKQor ICAgICAgICAjIFRoZSBwYXJzZXIgaXMgY2FsbGVkICJnb21vZCIuCisgICAgICAgIGxhbmc9Imdv bW9kIgorICAgICAgICBvcmc9ImNhbWRlbmNoZWVrIgorICAgICAgICA7OwogICAgICJ0eXBlc2Ny aXB0IikKICAgICAgICAgc291cmNlZGlyPSJ0cmVlLXNpdHRlci10eXBlc2NyaXB0L3R5cGVzY3Jp cHQvc3JjIgogICAgICAgICBncmFtbWFyZGlyPSJ0cmVlLXNpdHRlci10eXBlc2NyaXB0L3R5cGVz Y3JpcHQiCmRpZmYgLS1naXQgYS9ldGMvTkVXUyBiL2V0Yy9ORVdTCmluZGV4IDcwMWU0MTRmZGIu LmRkMTFiM2MyNzEgMTAwNjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBAIC0zMDgx LDYgKzMwODEsMTQgQEAgQSBtYWpvciBtb2RlIGJhc2VkIG9uIHRoZSB0cmVlLXNpdHRlciBsaWJy YXJ5IGZvciBlZGl0aW5nIGZpbGVzCiB3cml0dGVuIGluIFRPTUwsIGEgZm9ybWF0IGZvciB3cml0 aW5nIGNvbmZpZ3VyYXRpb24gZmlsZXMuICBJdCBpcwogYXV0by1lbmFibGVkIGZvciBmaWxlcyB3 aXRoIHRoZSAiLnRvbWwiIGV4dGVuc2lvbi4KIAorKioqIE5ldyBtYWpvciBtb2RlICdnby10cy1t b2RlJy4KK0EgbWFqb3IgbW9kZSBiYXNlZCBvbiB0aGUgdHJlZS1zaXR0ZXIgbGlicmFyeSBmb3Ig ZWRpdGluZyBwcm9ncmFtcyBpbgordGhlIEdvIGxhbmd1YWdlLiAgSXQgaXMgYXV0by1lbmFibGVk IGZvciBmaWxlcyB3aXRoIHRoZSAiLmdvIiBleHRlbnNpb24uCisKKyoqKiBOZXcgbWFqb3IgbW9k ZSAnZ28tbW9kLXRzLW1vZGUnLgorQSBtYWpvciBtb2RlIGJhc2VkIG9uIHRoZSB0cmVlLXNpdHRl ciBsaWJyYXJ5IGZvciBlZGl0aW5nICJnby5tb2QiCitmaWxlcy4gIEl0IGlzIGF1dG8tZW5hYmxl ZCBmb3IgZmlsZXMgd2hpY2ggYXJlIG5hbWVkICJnby5tb2QiLgorCiAMCiAqIEluY29tcGF0aWJs ZSBMaXNwIENoYW5nZXMgaW4gRW1hY3MgMjkuMQogCmRpZmYgLS1naXQgYS9saXNwL3Byb2dtb2Rl cy9lZ2xvdC5lbCBiL2xpc3AvcHJvZ21vZGVzL2VnbG90LmVsCmluZGV4IDljNWEzNjFkZjcuLjAy YmI2YmI2NjUgMTAwNjQ0Ci0tLSBhL2xpc3AvcHJvZ21vZGVzL2VnbG90LmVsCisrKyBiL2xpc3Av cHJvZ21vZGVzL2VnbG90LmVsCkBAIC0yMTEsNyArMjExLDggQEAgZWdsb3Qtc2VydmVyLXByb2dy YW1zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlbG0tbW9kZSAuICgiZWxtLWxh bmd1YWdlLXNlcnZlciIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWludC1t b2RlIC4gKCJtaW50IiAibHMiKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtv dGxpbi1tb2RlIC4gKCJrb3RsaW4tbGFuZ3VhZ2Utc2VydmVyIikpCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICgoZ28tbW9kZSBnby1kb3QtbW9kLW1vZGUgZ28tZG90LXdvcmstbW9k ZSkgLiAoImdvcGxzIikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoZ28tbW9k ZSBnby1kb3QtbW9kLW1vZGUgZ28tZG90LXdvcmstbW9kZSBnby10cy1tb2RlIGdvLW1vZC10cy1t b2RlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLiAoImdvcGxzIikpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUi1tb2RlIGVzcy1yLW1vZGUpIC4gKCJSIiAi LS1zbGF2ZSIgIi1lIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAibGFuZ3VhZ2VzZXJ2ZXI6OnJ1bigpIikpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICgoamF2YS1tb2RlIGphdmEtdHMtbW9kZSkgLiAoImpkdGxzIikpCmRp ZmYgLS1naXQgYS9saXNwL3Byb2dtb2Rlcy9nby10cy1tb2RlLmVsIGIvbGlzcC9wcm9nbW9kZXMv Z28tdHMtbW9kZS5lbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi4xMjRk OWIwNDRhCi0tLSAvZGV2L251bGwKKysrIGIvbGlzcC9wcm9nbW9kZXMvZ28tdHMtbW9kZS5lbApA QCAtMCwwICsxLDM1NCBAQAorOzs7IGdvLXRzLW1vZGUuZWwgLS0tIHRyZWUtc2l0dGVyIHN1cHBv cnQgZm9yIEdvICAtKi0gbGV4aWNhbC1iaW5kaW5nOiB0OyAtKi0KKworOzsgQ29weXJpZ2h0IChD KSAyMDIyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCis7OyBBdXRob3IgICAgIDog UmFuZHkgVGF5bG9yIDxkZXZAcmp0LmRldj4KKzs7IE1haW50YWluZXIgOiBSYW5keSBUYXlsb3Ig PGRldkByanQuZGV2PgorOzsgQ3JlYXRlZCAgICA6IERlY2VtYmVyIDIwMjIKKzs7IEtleXdvcmRz ICAgOiBnbyBsYW5ndWFnZXMgdHJlZS1zaXR0ZXIKKworOzsgVGhpcyBmaWxlIGlzIHBhcnQgb2Yg R05VIEVtYWNzLgorCis7OyBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorOzsgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKzs7IHRoZSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCis7 OyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCis7OyBHTlUgRW1hY3MgaXMg ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKzs7IGJ1dCBX SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m Cis7OyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUgdGhlCis7OyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz LgorCis7OyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZQorOzsgYWxvbmcgd2l0aCBHTlUgRW1hY3MuICBJZiBub3QsIHNlZSA8 aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCis7OzsgQ29tbWVudGFyeToKKzs7CisK Kzs7OyBDb2RlOgorCisocmVxdWlyZSAndHJlZXNpdCkKKyhldmFsLXdoZW4tY29tcGlsZSAocmVx dWlyZSAncngpKQorCisoZGVjbGFyZS1mdW5jdGlvbiB0cmVlc2l0LXBhcnNlci1jcmVhdGUgInRy ZWVzaXQuYyIpCisoZGVjbGFyZS1mdW5jdGlvbiB0cmVlc2l0LWluZHVjZS1zcGFyc2UtdHJlZSAi dHJlZXNpdC5jIikKKyhkZWNsYXJlLWZ1bmN0aW9uIHRyZWVzaXQtbm9kZS1jaGlsZCAidHJlZXNp dC5jIikKKyhkZWNsYXJlLWZ1bmN0aW9uIHRyZWVzaXQtbm9kZS1jaGlsZC1ieS1maWVsZC1uYW1l ICJ0cmVlc2l0LmMiKQorKGRlY2xhcmUtZnVuY3Rpb24gdHJlZXNpdC1ub2RlLXN0YXJ0ICJ0cmVl c2l0LmMiKQorKGRlY2xhcmUtZnVuY3Rpb24gdHJlZXNpdC1ub2RlLXR5cGUgInRyZWVzaXQuYyIp CisKKyhkZWZjdXN0b20gZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0IDQKKyAgIk51bWJlciBvZiBz cGFjZXMgZm9yIGVhY2ggaW5kZW50YXRpb24gc3RlcCBpbiBgZ28tdHMtbW9kZScuIgorICA6dmVy c2lvbiAiMjkuMSIKKyAgOnR5cGUgJ2ludGVnZXIKKyAgOnNhZmUgJ2ludGVnZXJwCisgIDpncm91 cCAnZ28pCisKKyhkZWZ2YXIgZ28tdHMtbW9kZS0tc3ludGF4LXRhYmxlCisgIChsZXQgKCh0YWJs ZSAobWFrZS1zeW50YXgtdGFibGUpKSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/KyAgICIu IiAgICAgIHRhYmxlKQorICAgIChtb2RpZnktc3ludGF4LWVudHJ5ID8tICAgIi4iICAgICAgdGFi bGUpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgPz0gICAiLiIgICAgICB0YWJsZSkKKyAgICAo bW9kaWZ5LXN5bnRheC1lbnRyeSA/JSAgICIuIiAgICAgIHRhYmxlKQorICAgIChtb2RpZnktc3lu dGF4LWVudHJ5ID8mICAgIi4iICAgICAgdGFibGUpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkg P3wgICAiLiIgICAgICB0YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/XiAgICIuIiAg ICAgIHRhYmxlKQorICAgIChtb2RpZnktc3ludGF4LWVudHJ5ID8hICAgIi4iICAgICAgdGFibGUp CisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgPzwgICAiLiIgICAgICB0YWJsZSkKKyAgICAobW9k aWZ5LXN5bnRheC1lbnRyeSA/PiAgICIuIiAgICAgIHRhYmxlKQorICAgIChtb2RpZnktc3ludGF4 LWVudHJ5ID9cXCAgIlxcIiAgICAgdGFibGUpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgPy8g ICAiLiAxMjRiIiB0YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/KiAgICIuIDIzIiAg IHRhYmxlKQorICAgIChtb2RpZnktc3ludGF4LWVudHJ5ID9cbiAgIj4gYiIgICAgdGFibGUpCisg ICAgdGFibGUpCisgICJTeW50YXggdGFibGUgZm9yIGBnby10cy1tb2RlJy4iKQorCisoZGVmdmFy IGdvLXRzLW1vZGUtLWluZGVudC1ydWxlcworICBgKChnbworICAgICAoKG5vZGUtaXMgIikiKSBw YXJlbnQtYm9sIDApCisgICAgICgobm9kZS1pcyAiXSIpIHBhcmVudC1ib2wgMCkKKyAgICAgKChu b2RlLWlzICJ9IikgcGFyZW50LWJvbCAwKQorICAgICAoKG5vZGUtaXMgImxhYmVsZWRfc3RhdGVt ZW50Iikgbm8taW5kZW50KQorICAgICAoKHBhcmVudC1pcyAiYXJndW1lbnRfbGlzdCIpIHBhcmVu dC1ib2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAiYmxvY2si KSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChwYXJlbnQtaXMg ImNvbnN0X2RlY2xhcmF0aW9uIikgcGFyZW50LWJvbCBnby10cy1tb2RlLWluZGVudC1vZmZzZXQp CisgICAgICgocGFyZW50LWlzICJkZWZhdWx0X2Nhc2UiKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUt aW5kZW50LW9mZnNldCkKKyAgICAgKChwYXJlbnQtaXMgImV4cHJlc3Npb25fY2FzZSIpIHBhcmVu dC1ib2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAiZXhwcmVz c2lvbl9zd2l0Y2hfc3RhdGVtZW50IikgcGFyZW50LWJvbCAwKQorICAgICAoKHBhcmVudC1pcyAi ZmllbGRfZGVjbGFyYXRpb25fbGlzdCIpIHBhcmVudC1ib2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zm c2V0KQorICAgICAoKHBhcmVudC1pcyAiaW1wb3J0X3NwZWNfbGlzdCIpIHBhcmVudC1ib2wgZ28t dHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAibGFiZWxlZF9zdGF0ZW1l bnQiKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChwYXJlbnQt aXMgImxpdGVyYWxfdmFsdWUiKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkK KyAgICAgKChwYXJlbnQtaXMgInR5cGVfc3BlYyIpIHBhcmVudC1ib2wgZ28tdHMtbW9kZS1pbmRl bnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAidmFyX2RlY2xhcmF0aW9uIikgcGFyZW50LWJv bCBnby10cy1tb2RlLWluZGVudC1vZmZzZXQpCisgICAgIChuby1ub2RlIHBhcmVudC1ib2wgMCkp KQorICAiVHJlZS1zaXR0ZXIgaW5kZW50IHJ1bGVzIGZvciBgZ28tdHMtbW9kZScuIikKKworKGRl ZnZhciBnby10cy1tb2RlLS1rZXl3b3JkcworICAnKCJicmVhayIgImNhc2UiICJjaGFuIiAiY29u c3QiICJjb250aW51ZSIgImRlZmF1bHQiICJkZWZlciIgImVsc2UiCisgICAgImZhbGx0aHJvdWdo IiAiZm9yIiAiZnVuYyIgImdvIiAiZ290byIgImlmIiAiaW1wb3J0IiAiaW50ZXJmYWNlIiAibWFw IgorICAgICJwYWNrYWdlIiAicmFuZ2UiICJyZXR1cm4iICJzZWxlY3QiICJzdHJ1Y3QiICJzd2l0 Y2giICJ0eXBlIiAidmFyIikKKyAgIkdvIGtleXdvcmRzIGZvciB0cmVlLXNpdHRlciBmb250LWxv Y2tpbmcuIikKKworKGRlZnZhciBnby10cy1tb2RlLS1vcGVyYXRvcnMKKyAgJygiKyIgIiYiICIr PSIgIiY9IiAiJiYiICI9PSIgIiE9IiAiLSIgInwiICItPSIgInw9IiAifHwiICI8IiAiPD0iCisg ICAgIioiICJeIiAiKj0iICJePSIgIjwtIiAiPiIgIj49IiAiLyIgIjw8IiAiLz0iICI8PD0iICIr KyIgIj0iICI6PSIgIiUiCisgICAgIj4+IiAiJT0iICI+Pj0iICItLSIgIiEiICAiLi4uIiAgIiZe IiAiJl49IiAifiIpCisgICJHbyBvcGVyYXRvcnMgZm9yIHRyZWUtc2l0dGVyIGZvbnQtbG9ja2lu Zy4iKQorCisoZGVmdmFyIGdvLXRzLW1vZGUtLWZvbnQtbG9jay1zZXR0aW5ncworICAodHJlZXNp dC1mb250LWxvY2stcnVsZXMKKyAgIDpsYW5ndWFnZSAnZ28KKyAgIDpmZWF0dXJlICdicmFja2V0 CisgICAnKChbIigiICIpIiAiWyIgIl0iICJ7IiAifSJdKSBAZm9udC1sb2NrLWJyYWNrZXQtZmFj ZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUgJ2NvbW1lbnQKKyAgICcoKGNvbW1l bnQpIEBmb250LWxvY2stY29tbWVudC1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVh dHVyZSAnY29uc3RhbnQKKyAgICcoWyhmYWxzZSkgKGlvdGEpIChuaWwpICh0cnVlKV0gQGZvbnQt bG9jay1jb25zdGFudC1mYWNlCisgICAgIChjb25zdF9kZWNsYXJhdGlvbgorICAgICAgKGNvbnN0 X3NwZWMgbmFtZTogKGlkZW50aWZpZXIpIEBmb250LWxvY2stY29uc3RhbnQtZmFjZSkpKQorCisg ICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAnZGVsaW1pdGVyCisgICAnKChbIiwiICIuIiAi OyIgIjoiXSkgQGZvbnQtbG9jay1kZWxpbWl0ZXItZmFjZSkKKworICAgOmxhbmd1YWdlICdnbwor ICAgOmZlYXR1cmUgJ2Z1bmN0aW9uCisgICAnKChjYWxsX2V4cHJlc3Npb24KKyAgICAgIGZ1bmN0 aW9uOiAoaWRlbnRpZmllcikgQGZvbnQtbG9jay1mdW5jdGlvbi1uYW1lLWZhY2UpCisgICAgIChj YWxsX2V4cHJlc3Npb24KKyAgICAgIGZ1bmN0aW9uOiAoc2VsZWN0b3JfZXhwcmVzc2lvbgorICAg ICAgICAgICAgICAgICBmaWVsZDogKGZpZWxkX2lkZW50aWZpZXIpIEBmb250LWxvY2stZnVuY3Rp b24tbmFtZS1mYWNlKSkKKyAgICAgKGZ1bmN0aW9uX2RlY2xhcmF0aW9uCisgICAgICBuYW1lOiAo aWRlbnRpZmllcikgQGZvbnQtbG9jay1mdW5jdGlvbi1uYW1lLWZhY2UpCisgICAgIChtZXRob2Rf ZGVjbGFyYXRpb24KKyAgICAgIG5hbWU6IChmaWVsZF9pZGVudGlmaWVyKSBAZm9udC1sb2NrLWZ1 bmN0aW9uLW5hbWUtZmFjZSkpCisKKyAgIDpsYW5ndWFnZSAnZ28KKyAgIDpmZWF0dXJlICdrZXl3 b3JkCisgICBgKFssQGdvLXRzLW1vZGUtLWtleXdvcmRzXSBAZm9udC1sb2NrLWtleXdvcmQtZmFj ZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUgJ2xhYmVsCisgICAnKChsYWJlbF9u YW1lKSBAZm9udC1sb2NrLWNvbnN0YW50LWZhY2UpCisKKyAgIDpsYW5ndWFnZSAnZ28KKyAgIDpm ZWF0dXJlICdudW1iZXIKKyAgICcoWyhmbG9hdF9saXRlcmFsKQorICAgICAgKGltYWdpbmFyeV9s aXRlcmFsKQorICAgICAgKGludF9saXRlcmFsKV0gQGZvbnQtbG9jay1udW1iZXItZmFjZSkKKwor ICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUgJ3N0cmluZworICAgJyhbKGludGVycHJldGVk X3N0cmluZ19saXRlcmFsKQorICAgICAgKHJhd19zdHJpbmdfbGl0ZXJhbCkKKyAgICAgIChydW5l X2xpdGVyYWwpXSBAZm9udC1sb2NrLXN0cmluZy1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisg ICA6ZmVhdHVyZSAndHlwZQorICAgJyhbKHBhY2thZ2VfaWRlbnRpZmllcikgKHR5cGVfaWRlbnRp ZmllcildIEBmb250LWxvY2stdHlwZS1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVh dHVyZSAndmFyaWFibGUKKyAgICcoKGlkZW50aWZpZXIpIEBmb250LWxvY2stdmFyaWFibGUtbmFt ZS1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAnZXNjYXBlLXNlcXVlbmNl CisgICA6b3ZlcnJpZGUgdAorICAgJygoZXNjYXBlX3NlcXVlbmNlKSBAZm9udC1sb2NrLWVzY2Fw ZS1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAncHJvcGVydHkKKyAgIDpv dmVycmlkZSB0CisgICAnKChmaWVsZF9pZGVudGlmaWVyKSBAZm9udC1sb2NrLXByb3BlcnR5LWZh Y2UKKyAgICAgKGtleWVkX2VsZW1lbnQgKF8gKGlkZW50aWZpZXIpIEBmb250LWxvY2stcHJvcGVy dHktZmFjZSkpKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAnZXJyb3IKKyAgIDpv dmVycmlkZSB0CisgICAnKChFUlJPUikgQGZvbnQtbG9jay13YXJuaW5nLWZhY2UpKQorICAiVHJl ZS1zaXR0ZXIgZm9udC1sb2NrIHNldHRpbmdzIGZvciBgZ28tdHMtbW9kZScuIikKKworKGRlZnVu IGdvLXRzLW1vZGUtLWltZW51ICgpCisgICJSZXR1cm4gSW1lbnUgYWxpc3QgZm9yIHRoZSBjdXJy ZW50IGJ1ZmZlci4iCisgIChsZXQqICgobm9kZSAodHJlZXNpdC1idWZmZXItcm9vdC1ub2RlKSkK KyAgICAgICAgIChmdW5jLXRyZWUgKHRyZWVzaXQtaW5kdWNlLXNwYXJzZS10cmVlCisgICAgICAg ICAgICAgICAgICAgICBub2RlICJmdW5jdGlvbl9kZWNsYXJhdGlvbiIgbmlsIDEwMDApKQorICAg ICAgICAgKHR5cGUtdHJlZSAodHJlZXNpdC1pbmR1Y2Utc3BhcnNlLXRyZWUKKyAgICAgICAgICAg ICAgICAgICAgIG5vZGUgInR5cGVfc3BlYyIgbmlsIDEwMDApKQorICAgICAgICAgKGZ1bmMtaW5k ZXggKGdvLXRzLW1vZGUtLWltZW51LTEgZnVuYy10cmVlKSkKKyAgICAgICAgICh0eXBlLWluZGV4 IChnby10cy1tb2RlLS1pbWVudS0xIHR5cGUtdHJlZSkpKQorICAgIChhcHBlbmQKKyAgICAgKHdo ZW4gZnVuYy1pbmRleCBgKCgiRnVuY3Rpb24iIC4gLGZ1bmMtaW5kZXgpKSkKKyAgICAgKHdoZW4g dHlwZS1pbmRleCBgKCgiVHlwZSIgLiAsdHlwZS1pbmRleCkpKSkpKQorCisoZGVmdW4gZ28tdHMt bW9kZS0taW1lbnUtMSAobm9kZSkKKyAgIkhlbHBlciBmb3IgYGdvLXRzLW1vZGUtLWltZW51Jy4K K0ZpbmQgc3RyaW5nIHJlcHJlc2VudGF0aW9uIGZvciBOT0RFIGFuZCBzZXQgbWFya2VyLCB0aGVu IHJlY3Vyc2UKK3RoZSBzdWJ0cmVlcy4iCisgIChsZXQqICgodHMtbm9kZSAoY2FyIG5vZGUpKQor ICAgICAgICAgKGNoaWxkcmVuIChjZHIgbm9kZSkpCisgICAgICAgICAoc3VidHJlZXMgKG1hcGNh biAjJ2dvLXRzLW1vZGUtLWltZW51LTEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxk cmVuKSkKKyAgICAgICAgIChuYW1lICh3aGVuIHRzLW5vZGUKKyAgICAgICAgICAgICAgICAgKHRy ZWVzaXQtbm9kZS10ZXh0CisgICAgICAgICAgICAgICAgICAocGNhc2UgKHRyZWVzaXQtbm9kZS10 eXBlIHRzLW5vZGUpCisgICAgICAgICAgICAgICAgICAgICgiZnVuY3Rpb25fZGVjbGFyYXRpb24i CisgICAgICAgICAgICAgICAgICAgICAodHJlZXNpdC1ub2RlLWNoaWxkLWJ5LWZpZWxkLW5hbWUg dHMtbm9kZSAibmFtZSIpKQorICAgICAgICAgICAgICAgICAgICAoInR5cGVfc3BlYyIKKyAgICAg ICAgICAgICAgICAgICAgICh0cmVlc2l0LW5vZGUtY2hpbGQtYnktZmllbGQtbmFtZSB0cy1ub2Rl ICJuYW1lIikpKSkpKQorICAgICAgICAgKG1hcmtlciAod2hlbiB0cy1ub2RlCisgICAgICAgICAg ICAgICAgICAgKHNldC1tYXJrZXIgKG1ha2UtbWFya2VyKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICh0cmVlc2l0LW5vZGUtc3RhcnQgdHMtbm9kZSkpKSkpCisgICAgKGNvbmQKKyAg ICAgKChvciAobnVsbCB0cy1ub2RlKSAobnVsbCBuYW1lKSkgc3VidHJlZXMpCisgICAgIChzdWJ0 cmVlcworICAgICAgYCgoLG5hbWUgLChjb25zIG5hbWUgbWFya2VyKSAsQHN1YnRyZWVzKSkpCisg ICAgICh0CisgICAgICBgKCgsbmFtZSAuICxtYXJrZXIpKSkpKSkKKworOzs7IyMjYXV0b2xvYWQK KyhhZGQtdG8tbGlzdCAnYXV0by1tb2RlLWFsaXN0ICcoIlxcLmdvXFwnIiAuIGdvLXRzLW1vZGUp KQorCis7OzsjIyNhdXRvbG9hZAorKGRlZmluZS1kZXJpdmVkLW1vZGUgZ28tdHMtbW9kZSBwcm9n LW1vZGUgIkdvIgorICAiTWFqb3IgbW9kZSBmb3IgZWRpdGluZyBHbywgcG93ZXJlZCBieSB0cmVl LXNpdHRlci4iCisgIDpncm91cCAnZ28KKyAgOnN5bnRheC10YWJsZSBnby10cy1tb2RlLS1zeW50 YXgtdGFibGUKKworICAod2hlbiAodHJlZXNpdC1yZWFkeS1wICdnbykKKyAgICAodHJlZXNpdC1w YXJzZXItY3JlYXRlICdnbykKKworICAgIDs7IENvbW1lbnRzLgorICAgIChzZXRxLWxvY2FsIGNv bW1lbnQtc3RhcnQgIi8vICIpCisgICAgKHNldHEtbG9jYWwgY29tbWVudC1lbmQgIiIpCisgICAg KHNldHEtbG9jYWwgY29tbWVudC1zdGFydC1za2lwIChyeCAiLy8iICgqIChzeW50YXggd2hpdGVz cGFjZSkpKSkKKworICAgIDs7IEltZW51LgorICAgIChzZXRxLWxvY2FsIGltZW51LWNyZWF0ZS1p bmRleC1mdW5jdGlvbiAjJ2dvLXRzLW1vZGUtLWltZW51KQorICAgIChzZXRxLWxvY2FsIHdoaWNo LWZ1bmMtZnVuY3Rpb25zIG5pbCkKKworICAgIDs7IEluZGVudC4KKyAgICAoc2V0cS1sb2NhbCBp bmRlbnQtdGFicy1tb2RlIHQKKyAgICAgICAgICAgICAgICB0cmVlc2l0LXNpbXBsZS1pbmRlbnQt cnVsZXMgZ28tdHMtbW9kZS0taW5kZW50LXJ1bGVzKQorCisgICAgOzsgRm9udC1sb2NrLgorICAg IChzZXRxLWxvY2FsIHRyZWVzaXQtZm9udC1sb2NrLXNldHRpbmdzIGdvLXRzLW1vZGUtLWZvbnQt bG9jay1zZXR0aW5ncykKKyAgICAoc2V0cS1sb2NhbCB0cmVlc2l0LWZvbnQtbG9jay1mZWF0dXJl LWxpc3QKKyAgICAgICAgICAgICAgICAnKCggY29tbWVudCkKKyAgICAgICAgICAgICAgICAgICgg a2V5d29yZCBzdHJpbmcgdHlwZSkKKyAgICAgICAgICAgICAgICAgICggY29uc3RhbnQgZXNjYXBl LXNlcXVlbmNlIGZ1bmN0aW9uIGxhYmVsIG51bWJlcgorICAgICAgICAgICAgICAgICAgICBwcm9w ZXJ0eSB2YXJpYWJsZSkKKyAgICAgICAgICAgICAgICAgICggYnJhY2tldCBkZWxpbWl0ZXIgZXJy b3Igb3BlcmF0b3IpKSkKKworICAgICh0cmVlc2l0LW1ham9yLW1vZGUtc2V0dXApKSkKKworOzsg Z28ubW9kIHN1cHBvcnQuCisKKyhkZWZ2YXIgZ28tbW9kLXRzLW1vZGUtLXN5bnRheC10YWJsZQor ICAobGV0ICgodGFibGUgKG1ha2Utc3ludGF4LXRhYmxlKSkpCisgICAgKG1vZGlmeS1zeW50YXgt ZW50cnkgPy8gICAiLiAxMjRiIiB0YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/XG4g ICI+IGIiICAgIHRhYmxlKQorICAgIHRhYmxlKQorICAiU3ludGF4IHRhYmxlIGZvciBgZ28tbW9k LXRzLW1vZGUnLiIpCisKKyhkZWZ2YXIgZ28tbW9kLXRzLW1vZGUtLWluZGVudC1ydWxlcworICBg KChnb21vZAorICAgICAoKG5vZGUtaXMgIikiKSBwYXJlbnQtYm9sIDApCisgICAgICgocGFyZW50 LWlzICJleGNsdWRlX2RpcmVjdGl2ZSIpIHBhcmVudC1ib2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zm c2V0KQorICAgICAoKHBhcmVudC1pcyAibW9kdWxlX2RpcmVjdGl2ZSIpIHBhcmVudC1ib2wgZ28t dHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKHBhcmVudC1pcyAicmVwbGFjZV9kaXJlY3Rp dmUiKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChwYXJlbnQt aXMgInJlcXVpcmVfZGlyZWN0aXZlIikgcGFyZW50LWJvbCBnby10cy1tb2RlLWluZGVudC1vZmZz ZXQpCisgICAgICgocGFyZW50LWlzICJyZXRyYWN0X2RpcmVjdGl2ZSIpIHBhcmVudC1ib2wgZ28t dHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAoKGdvLW1vZC10cy1tb2RlLS1pbi1kaXJlY3Rp dmUtcCkgbm8taW5kZW50IGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKG5vLW5vZGUg bm8taW5kZW50IDApKSkKKyAgIlRyZWUtc2l0dGVyIGluZGVudCBydWxlcyBmb3IgYGdvLW1vZC10 cy1tb2RlJy4iKQorCisoZGVmdW4gZ28tbW9kLXRzLW1vZGUtLWluLWRpcmVjdGl2ZS1wICgpCisg ICJSZXR1cm4gbm9uLW5pbCBpZiBpbnNpZGUgYSBkaXJlY3RpdmUuCitXaGVuIGVudGVyaW5nIGFu IGVtcHR5IGRpcmVjdGl2ZSBvciBhZGRpbmcgYSBuZXcgZW50cnkgdG8gb25lLCBubyBub2RlCit3 aWxsIGJlIHByZXNlbnQgbWVhbmluZyBub25lIG9mIHRoZSBpbmRlbnRhdGlvbiBydWxlcyB3aWxs IG1hdGNoLAorYmVjYXVzZSB0aGVyZSBpcyBubyBwYXJlbnQgdG8gbWF0Y2ggYWdhaW5zdC4gIFRo aXMgZnVuY3Rpb24gZGV0ZXJtaW5lcword2hhdCB0aGUgcGFyZW50IG9mIHRoZSBub2RlIHdvdWxk IGJlIGlmIGl0IHdlcmUgYSBub2RlLiIKKyAgKGxhbWJkYSAobm9kZSBfIF8gJnJlc3QgXykKKyAg ICAodW5sZXNzICh0cmVlc2l0LW5vZGUtdHlwZSBub2RlKQorICAgICAgKHNhdmUtZXhjdXJzaW9u CisgICAgICAgIChiYWNrd2FyZC11cC1saXN0KQorICAgICAgICAoYmFjay10by1pbmRlbnRhdGlv bikKKyAgICAgICAgKHBjYXNlICh0cmVlc2l0LW5vZGUtdHlwZSAodHJlZXNpdC1ub2RlLWF0IChw b2ludCkpKQorICAgICAgICAgICgiZXhjbHVkZSIgdCkKKyAgICAgICAgICAoIm1vZHVsZSIgdCkK KyAgICAgICAgICAoInJlcGxhY2UiIHQpCisgICAgICAgICAgKCJyZXF1aXJlIiB0KQorICAgICAg ICAgICgicmV0cmFjdCIgdCkpKSkpKQorCisoZGVmdmFyIGdvLW1vZC10cy1tb2RlLS1rZXl3b3Jk cworICAnKCJleGNsdWRlIiAiZ28iICJtb2R1bGUiICJyZXBsYWNlIiAicmVxdWlyZSIgInJldHJh Y3QiKQorICAiZ28ubW9kIGtleXdvcmRzIGZvciB0cmVlLXNpdHRlciBmb250LWxvY2tpbmcuIikK KworKGRlZnZhciBnby1tb2QtdHMtbW9kZS0tZm9udC1sb2NrLXNldHRpbmdzCisgICh0cmVlc2l0 LWZvbnQtbG9jay1ydWxlcworICAgOmxhbmd1YWdlICdnb21vZAorICAgOmZlYXR1cmUgJ2JyYWNr ZXQKKyAgICcoKFsiKCIgIikiXSkgQGZvbnQtbG9jay1icmFja2V0LWZhY2UpCisKKyAgIDpsYW5n dWFnZSAnZ29tb2QKKyAgIDpmZWF0dXJlICdjb21tZW50CisgICAnKChjb21tZW50KSBAZm9udC1s b2NrLWNvbW1lbnQtZmFjZSkKKworICAgOmxhbmd1YWdlICdnb21vZAorICAgOmZlYXR1cmUgJ2tl eXdvcmQKKyAgIGAoWyxAZ28tbW9kLXRzLW1vZGUtLWtleXdvcmRzXSBAZm9udC1sb2NrLWtleXdv cmQtZmFjZSkKKworICAgOmxhbmd1YWdlICdnb21vZAorICAgOmZlYXR1cmUgJ251bWJlcgorICAg JyhbKGdvX3ZlcnNpb24pICh2ZXJzaW9uKV0gQGZvbnQtbG9jay1udW1iZXItZmFjZSkKKworICAg Omxhbmd1YWdlICdnb21vZAorICAgOmZlYXR1cmUgJ29wZXJhdG9yCisgICAnKChbIj0+Il0pIEBm b250LWxvY2stb3BlcmF0b3ItZmFjZSkKKworICAgOmxhbmd1YWdlICdnb21vZAorICAgOmZlYXR1 cmUgJ2Vycm9yCisgICA6b3ZlcnJpZGUgdAorICAgJygoRVJST1IpIEBmb250LWxvY2std2Fybmlu Zy1mYWNlKSkKKyAgIlRyZWUtc2l0dGVyIGZvbnQtbG9jayBzZXR0aW5ncyBmb3IgYGdvLW1vZC10 cy1tb2RlJy4iKQorCis7OzsjIyNhdXRvbG9hZAorKGFkZC10by1saXN0ICdhdXRvLW1vZGUtYWxp c3QgJygiL2dvXFwubW9kXFwnIiAuIGdvLW1vZC10cy1tb2RlKSkKKworOzs7IyMjYXV0b2xvYWQK KyhkZWZpbmUtZGVyaXZlZC1tb2RlIGdvLW1vZC10cy1tb2RlIHByb2ctbW9kZSAiR28gTW9kIgor ICAiTWFqb3IgbW9kZSBmb3IgZWRpdGluZyBnby5tb2QgZmlsZXMsIHBvd2VyZWQgYnkgdHJlZS1z aXR0ZXIuIgorICA6Z3JvdXAgJ2dvCisgIDpzeW50YXgtdGFibGUgZ28tbW9kLXRzLW1vZGUtLXN5 bnRheC10YWJsZQorCisgICh3aGVuICh0cmVlc2l0LXJlYWR5LXAgJ2dvbW9kKQorICAgICh0cmVl c2l0LXBhcnNlci1jcmVhdGUgJ2dvbW9kKQorCisgICAgOzsgQ29tbWVudHMuCisgICAgKHNldHEt bG9jYWwgY29tbWVudC1zdGFydCAiLy8gIikKKyAgICAoc2V0cS1sb2NhbCBjb21tZW50LWVuZCAi IikKKyAgICAoc2V0cS1sb2NhbCBjb21tZW50LXN0YXJ0LXNraXAgKHJ4ICIvLyIgKCogKHN5bnRh eCB3aGl0ZXNwYWNlKSkpKQorCisgICAgOzsgSW5kZW50LgorICAgIChzZXRxLWxvY2FsIGluZGVu dC10YWJzLW1vZGUgdAorICAgICAgICAgICAgICAgIHRyZWVzaXQtc2ltcGxlLWluZGVudC1ydWxl cyBnby1tb2QtdHMtbW9kZS0taW5kZW50LXJ1bGVzKQorCisgICAgOzsgRm9udC1sb2NrLgorICAg IChzZXRxLWxvY2FsIHRyZWVzaXQtZm9udC1sb2NrLXNldHRpbmdzIGdvLW1vZC10cy1tb2RlLS1m b250LWxvY2stc2V0dGluZ3MpCisgICAgKHNldHEtbG9jYWwgdHJlZXNpdC1mb250LWxvY2stZmVh dHVyZS1saXN0CisgICAgICAgICAgICAgICAgJygoY29tbWVudCkKKyAgICAgICAgICAgICAgICAg IChrZXl3b3JkKQorICAgICAgICAgICAgICAgICAgKG51bWJlcikKKyAgICAgICAgICAgICAgICAg IChicmFja2V0IGVycm9yIG9wZXJhdG9yKSkpCisKKyAgICAodHJlZXNpdC1tYWpvci1tb2RlLXNl dHVwKSkpCisKKyhwcm92aWRlICdnby10cy1tb2RlKQorCis7OzsgZ28tdHMtbW9kZS5lbCBlbmRz IGhlcmUKLS0gCjIuMzkuMAoK --b1_PSne8v89CFs2pD0oxdxGxIx7KoWsnsVARq7EqFgwgE-- From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 15 20:22:32 2022 Received: (at 60025) by debbugs.gnu.org; 16 Dec 2022 01:22:32 +0000 Received: from localhost ([127.0.0.1]:46046 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5zQl-0006us-VU for submit@debbugs.gnu.org; Thu, 15 Dec 2022 20:22:32 -0500 Received: from mail-pj1-f41.google.com ([209.85.216.41]:45712) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5zQj-0006ui-Od for 60025@debbugs.gnu.org; Thu, 15 Dec 2022 20:22:30 -0500 Received: by mail-pj1-f41.google.com with SMTP id v13-20020a17090a6b0d00b00219c3be9830so895456pjj.4 for <60025@debbugs.gnu.org>; Thu, 15 Dec 2022 17:22:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:cc:date:message-id:subject:mime-version :content-transfer-encoding:from:from:to:cc:subject:date:message-id :reply-to; bh=Rpo98QH0o4EBIo7Y7QGchSW2Gl0RKV3Z0UhNUwZ2p/s=; b=dpngImoD9XUfYoy6TdssJ41PP2khVrHy2v7hlqhrJjQ1L5OW/c4X1wWzGhV+l5TSPh P/6dBKFTtH35miFw7PmO0RyLnDbDWUsXSpu0+nLpkLVQH0G8wSM54GlYL1ddWuTkXB6i 9+5CvGeqUH2pyhDQteDNkHCFX3LWZ0DbJvwjJU1l6sHNBe0/RK3YNUYdvf6I5amfzZVW EKUDYEIEBUF4VKFaSzV026jBhhjJiG7vzCKHQ7/Ip8IHEakSbaRWq5wp0SsseldB/EFl unpl8go2AltLr0a34pfRyxVdew8QfNJAuHwR8X1rrS5jmQnWf9D0JKLd5Nyj92bOIQ1/ 051Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:cc:date:message-id:subject:mime-version :content-transfer-encoding:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Rpo98QH0o4EBIo7Y7QGchSW2Gl0RKV3Z0UhNUwZ2p/s=; b=6F4jl1JTAF1Kp6JrWdrnNgDJLNtrDgN8XdRGG7gKLMplXBpUb0+dL4NGJ9O1vzlCXi /TiesK31gomCtIE79007ugU1wWIaShZjqPJem2IwJBlpIychLewatr3HXypgtHviWYu0 b5aqaJRp9hrjMBL7j4znoYZ5R7tBG31g+lZ7fqR4PfWkkH+yJEwQnPsv4WdvsKqC3zr2 pStSyes+EF0PwUYCEO1jg2GNk5rK1gLq7lG/AqQTv9GcO15nSzzOqkRVhaaUjqu2aj62 UAOO1t0L8yzkGqI+yJ7/1hhgU1ZcUbMkk4MJPNBOv52dRUIxF+FJ/UFn8MKL7V/GvZHd aVZQ== X-Gm-Message-State: ANoB5pnXlFDdQanNMrm6srtWzhaH7iAE8Y6CZq19paiP3xPR44ATH+v2 IHTHl+YQVwaIvO8Nj8lM+21afOg28k8= X-Google-Smtp-Source: AA0mqf7iAYUCkUSXs6kQcmNpdxrqbGZCI5+WsiGw4Z6oTbZVPmy3Z7xsmzyN48dqRSQGppOJMX911Q== X-Received: by 2002:a05:6a21:1589:b0:a7:9e22:8cc5 with SMTP id nr9-20020a056a21158900b000a79e228cc5mr30500995pzb.29.1671153744138; Thu, 15 Dec 2022 17:22:24 -0800 (PST) Received: from smtpclient.apple (cpe-172-117-161-177.socal.res.rr.com. [172.117.161.177]) by smtp.gmail.com with ESMTPSA id w4-20020a1709027b8400b0016be834d54asm237044pll.306.2022.12.15.17.22.23 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 15 Dec 2022 17:22:23 -0800 (PST) From: Yuan Fu Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) Subject: Re: bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode Message-Id: <893A6A32-58C0-4F9E-84E1-401A4A358F4B@gmail.com> Date: Thu, 15 Dec 2022 17:22:22 -0800 To: Randy Taylor X-Mailer: Apple Mail (2.3696.120.41.1.1) X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 60025 Cc: Eli Zaretskii , theo@thornhill.no, 60025@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Randy Taylor writes: > On Thursday, December 15th, 2022 at 15:09, Randy Taylor = wrote: >>=20 >> On Thursday, December 15th, 2022 at 14:59, Theodor Thornhill = theo@thornhill.no wrote: >>=20 >> > Randy Taylor dev@rjt.dev writes: >> >=20 >> > > Patch OK to install otherwise? >> >=20 >> > Sure :-) >> >=20 >> > Theo >>=20 >>=20 >> Thanks. >>=20 >> Yuan, I've attached the latest and greatest patch (same as the one a >> few threads up but no need to make you hunt for it ;)). Ready to >> install whenever, unless anyone has any other comments. > > Sorry, THIS attached patch is the latest and greatest patch. build.sh = was changed recently renaming namespace to org, so I made that = adjustment. Thanks! Great work. I applied the patch. And sorry for the change in build.sh, I meant to modify your patch to rename namespaces to org but apparently forgot. Yuan From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 15 21:06:08 2022 Received: (at 60025-done) by debbugs.gnu.org; 16 Dec 2022 02:06:08 +0000 Received: from localhost ([127.0.0.1]:46232 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p606y-0007XT-5V for submit@debbugs.gnu.org; Thu, 15 Dec 2022 21:06:08 -0500 Received: from mail-4323.proton.ch ([185.70.43.23]:37379) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p606u-0007X3-Dd for 60025-done@debbugs.gnu.org; Thu, 15 Dec 2022 21:06:07 -0500 Date: Fri, 16 Dec 2022 02:05:47 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rjt.dev; s=protonmail2; t=1671156358; x=1671415558; bh=/6qCoYKotZ2thCI/QFD6NrNyvWuGxsbh7kmlWbstkkQ=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=ccv00auVzL7qOYmbG6AXkqgn7FaVlRoa6GYWPXQwh/y9HdveYrKXCbga7PgW0Chxt 4IQCZ3GKdzGlBfVUa5/eP/N1WCFEVw8j3hUJVe+ZmMLgGFifBO7ei6tvhqWeqK05ya CuyTEEz666U2UEzIwBNkt1urT0cGzC+msUtWzBQMCxht/WkA/5GTc/C+WnIcYSaiO/ FS2EbD6Se7ZOPyh5SjIY4B3yLAGq1L0ATOdAdnW38eyqRj8ogWbtvaqyUhQqK5EZE3 HD0UBNzehxzXNTYxSod7oDmk/TDWBtaSt4wi49+gEi3KbI7DN3rDz0FIzzwtuLNDsy MHpP74HFsPmyw== To: Yuan Fu From: Randy Taylor Subject: Re: bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode Message-ID: In-Reply-To: <893A6A32-58C0-4F9E-84E1-401A4A358F4B@gmail.com> References: <893A6A32-58C0-4F9E-84E1-401A4A358F4B@gmail.com> Feedback-ID: 44397038:user:proton MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 60025-done Cc: Eli Zaretskii , theo@thornhill.no, "60025-done@debbugs.gnu.org" <60025-done@debbugs.gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Thursday, December 15th, 2022 at 20:22, Yuan Fu wrot= e: >=20 > Thanks! Great work. I applied the patch. And sorry for the change in > build.sh, I meant to modify your patch to rename namespaces to org but > apparently forgot. >=20 > Yuan Thanks! Closing. From unknown Sat Aug 16 12:41:35 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 13 Jan 2023 12:24:05 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator