<feed xmlns='http://www.w3.org/2005/Atom'>
<title>awwan/statement.go, branch dev</title>
<subtitle>Configuration management software, scriptable shell with SSH support.</subtitle>
<id>http://git.kilabit.info/awwan/atom?h=dev</id>
<link rel='self' href='http://git.kilabit.info/awwan/atom?h=dev'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/awwan/'/>
<updated>2025-12-27T06:56:15Z</updated>
<entry>
<title>all: update all dependencies and fix linter warnings</title>
<updated>2025-12-27T06:56:15Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-12-27T06:56:15Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/awwan/commit/?id=2772a45590a32d073fd7d2463e16cc736b2ba5a7'/>
<id>urn:sha1:2772a45590a32d073fd7d2463e16cc736b2ba5a7</id>
<content type='text'>
In the internal/, fix the "reuse lint" warnings due to embedded SPDX
headers string that contains "\n" considered as invalid.

Realign struct Statement based on fieldaligment check.

</content>
</entry>
<entry>
<title>all: add option "$noparse" for magic "#put" command</title>
<updated>2025-10-02T17:15:29Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-10-02T17:15:29Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/awwan/commit/?id=1003a18b85cffac4b9a92ee787fd8a9bdfca072d'/>
<id>urn:sha1:1003a18b85cffac4b9a92ee787fd8a9bdfca072d</id>
<content type='text'>
The "$noparse" option allow copying file without reading and parsing
the input file.

</content>
</entry>
<entry>
<title>all: replace module "share" with "pakakeh.go"</title>
<updated>2024-03-22T13:12:34Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2024-03-22T13:11:57Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/awwan/commit/?id=62bf073d3d5b55a7e76cf5d9cebefdc9c00cbcee'/>
<id>urn:sha1:62bf073d3d5b55a7e76cf5d9cebefdc9c00cbcee</id>
<content type='text'>
The "share" project has been moved to SourceHut with new name
"pakakeh.go".
</content>
</entry>
<entry>
<title>all: add magic command "#local"</title>
<updated>2023-10-21T18:32:42Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-10-21T18:06:38Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/awwan/commit/?id=fc7cd444e7d637c291a3f9ba9987ba0335af4809'/>
<id>urn:sha1:fc7cd444e7d637c291a3f9ba9987ba0335af4809</id>
<content type='text'>
The magic command "#local" define the command to be executed using
shell in local environment.
Its have effect and can only be used in script that executed using
"play".
In script that is executed using "local" it does nothing.
</content>
</entry>
<entry>
<title>all: rewrite method String in Statement</title>
<updated>2023-10-21T17:30:00Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-10-21T17:30:00Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/awwan/commit/?id=4411ca1953c95ddc013e47c55e87303b7290e2cc'/>
<id>urn:sha1:4411ca1953c95ddc013e47c55e87303b7290e2cc</id>
<content type='text'>
Instead of returning the string based on cmd and args values, return it
based on its kind.
In this way, the full line of magic command is returned before as is.
</content>
</entry>
<entry>
<title>all: add parser for magic command "#get" or "#put" with owner and mode</title>
<updated>2023-10-20T16:45:00Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-10-20T16:14:03Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/awwan/commit/?id=cda5c7c31a84b01e2231bed579d7f4bb6212a272'/>
<id>urn:sha1:cda5c7c31a84b01e2231bed579d7f4bb6212a272</id>
<content type='text'>
The owner and mode is defined after the magic command with the following
syntax,

  [ USER [ ":" GROUP ]] ["+" MODE]

The USER and/or GROUP is optional, its accept the value as in "chown".
The MODE also optional, its value must be an octal.
</content>
</entry>
<entry>
<title>all: fix printing the statement to be executed</title>
<updated>2023-10-11T18:40:22Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-10-11T17:15:36Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/awwan/commit/?id=d2fa84d24d12b5e6e1e6a7a93c164f3f4f9ce969'/>
<id>urn:sha1:d2fa84d24d12b5e6e1e6a7a93c164f3f4f9ce969</id>
<content type='text'>
This fix missing magic command not printed in stdout.
</content>
</entry>
<entry>
<title>all: simplify parsing statement for magic command "#get" and "#put"</title>
<updated>2023-10-07T09:10:00Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-10-07T09:10:00Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/awwan/commit/?id=40ec2b806e86bf3aaa8f95982b2183c3f3a962e9'/>
<id>urn:sha1:40ec2b806e86bf3aaa8f95982b2183c3f3a962e9</id>
<content type='text'>
Since magic command get and put both use the same function, we can use
loop to check and parse all of the get and put statement variants.
</content>
</entry>
<entry>
<title>all: simplify parsing statement for magic command "#put"</title>
<updated>2023-10-07T09:03:09Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-10-07T09:03:09Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/awwan/commit/?id=27a0a85d657d139b73e61d48a38628a6e3b682ed'/>
<id>urn:sha1:27a0a85d657d139b73e61d48a38628a6e3b682ed</id>
<content type='text'>
This changes minimize code duplication when parsing magic command
between "#put:" and "#put!" using single function parseStatementGetPut.

In the returned Statement, we changes where to store the source argument
into args[0] instead of in cmd for better readability and minimize
confusion in Copy/SudoCopy.
</content>
</entry>
<entry>
<title>all: simplify parsing statement for magic command get</title>
<updated>2023-10-05T18:33:12Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-10-05T18:33:12Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/awwan/commit/?id=b22f2104dd822a890b8f8b8de5489215493c0812'/>
<id>urn:sha1:b22f2104dd822a890b8f8b8de5489215493c0812</id>
<content type='text'>
This changes minimize code duplication when parsing magic command
between "#get:" and "#get!" using single function parseStatementGetPut.

In the returned Statement, we changes where to store the source argument
into args[0] instead of in cmd for better readability and minimize
confusion in Copy/SudoCopy.

While at it, we add unit test for "#get:".
Unit test for "#get!" is not possible right now, because it will prompt
for password.
</content>
</entry>
</feed>
