File systems verification utility and library, in likeness of mtree(8) https://github.com/vbatts/go-mtree
Find a file
Aleksa Sarai 4045484afb
vis: rewrite to use byte slices
This results in all multi-byte characters to be encoded in a way that
naive unvis(3) implementations will not bork up the encoding. In
addition, it also ensures that the output of Vis will always be ASCII
*only*.

Also test far more cases in *_test.go when it comes to different flags,
and do far more tests to ensure that the output of Vis() makes sense.
These outputs come directly from vis(3) and so are useful regression
tests to ensure that the handling of Vis() is identical to the original.

Signed-off-by: Aleksa Sarai <asarai@suse.de>
2017-02-16 01:07:16 +11:00
.travis.yml travis: add .travis.yml 2017-02-13 07:43:24 +11:00
COPYING *: license under Apache 2.0 2017-02-11 21:10:12 +11:00
govis.go vis: rewrite to use byte slices 2017-02-16 01:07:16 +11:00
govis_test.go unvis: implement proper '\xff' and '\377' escape handling 2017-02-13 04:53:14 +11:00
README.md *: license under Apache 2.0 2017-02-11 21:10:12 +11:00
unvis.go unvis: implement meta and ctrl characters ('\M__' and '\^_') 2017-02-13 08:03:04 +11:00
unvis_test.go unvis: implement meta and ctrl characters ('\M__' and '\^_') 2017-02-13 08:03:04 +11:00
vis.go vis: rewrite to use byte slices 2017-02-16 01:07:16 +11:00
vis_test.go vis: rewrite to use byte slices 2017-02-16 01:07:16 +11:00

govis

govis is a BSD-compatible vis(3) and unvis(3) encoding implementation that is unicode aware and written in Go. None of this code comes from the original BSD code, nor does it come from go-mtree's port of said code. Because 80s BSD code is not very nice to read.

License

govis is licensed under the Apache 2.0 license.

govis: unicode aware vis(3) encoding implementation
Copyright (C) 2017 SUSE LLC.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.