- Enable displaying a title row above the header row (
-title
option)
Oct 8, 2024
- #4 Define the different width for cells. e.g.,
-w 14,0:10,1:20
means: the first-column has 10 characters wide, the second 20, and other 14. (Thanks to @kevin-gwyrdh) - Fix: panic when 0 bytes files (
nul
or/dev/null
) were given
Oct 7, 2024
- Fix: suggestions did not start when the original value of the current cell was empty
- Fix: the search target for suggestions shifted one column to the right when inserting a cell value with
a
.
Oct 6, 2024
- While entering text in a cell, automatically display suggestions from cells in the same column that contain the current input. Press → or Ctrl-F to accept. go-readline-ny v1.5.0
- Support the hankaku-kana mode on the SKK input (
Ctrl-Q
to enter the hankaku-kana mode from SKK kana mode) go-readline-skk v0.4.0
Jun 10, 2024
- Modifying package
- When the cell validation fails, prompt to modify the input text
Jun 02, 2024
- When
-fixcol
is specified- Fix:
o
andO
: inserted column was always the first one of the new line - Fix:
O
: the line of cursor is incorrect before new cell text is input
- Fix:
- Add a new option to protect header (
-p
andConfig.ProtectHeader
) - Do not create a row contains nothing but EOF.
- Modifying package
- Added a mechanism for cell input validation
- Change the parameter type of hander function for key pressed from Application to KeyEventArgs (Compatiblity broken)
- Unexport type
Application
and(*Config) Edit
returns*Result
instead
May 27, 2024
- Modifying package
- User functions can be assigned to keys
csvi.Result
is the alias ofcsvi.Application
now
May 26, 2024
- Fix: panic occured when no input lines were given. It is a bug existing only on v1.9.3 whose executable was not released
- Modifing package
- Make
uncsv.Cell.Original()
that returns the original value before modified. - When
Config.FixColumn
is set true, the new row whicho
&O
insert has all columns same as the row cursor exists csvi.Result
has removed rows in a field.
- Make
May.17, 2024
- Modifing pacakge
- Change the return value of
Config.Edit
from(*RowPtr,error)
to(*Result,error)
- Change the return value of
May.12, 2024
- Modifing package
- Use 14 for the default of csvi.Config.CellWidth
- Implement csvi.Config.Edit as a function instead of csvi.Config.Main
May.09, 2024
- Fix timing to close the terminal input was incorrect (For some reason it hasn't surfaced as a problem)
May.08, 2024
- Add the option
-fixcol
that disables keysi
,a
, andx
not to shift columns. - Move the main function to the sub-package
cmd/csvi
to be available as a package of Go - Add the option
-readonly
that forbide changing the value of cell. When enabled, "q" shutdowns csvi immediately
Apr.26, 2024
- Fix: crashed on starting
csvi
with no arguments - Fix: a cell were not flipped when the cursor was in a cell with no text.
- Fix: the foreground color was not black, but gray.
- Change the case STDOUT or STDERR is used on no arguments to make the content of foo.txt becomes
foo\r\n
when executingecho "foo" | csvi -auto "w|-|q|y" > foo.txt
Apr.24, 2024
- Update the read bytes of the status line 4 times per second.
- Reduced the number of times ERASELINE(ESC[K) is output for too slow terminal to improve the speed to update screen.
Apr 16 2024
- Set cursor on or off when yes or no is asked.
- Fix the problem (since v.1.6.0) that the cursor position could become invalid after moving from a long line to a short line, causing a crash when editing.
Apr 15 2024
- Added the
-auto
option to enable running automated tests even without Expect-Lua. Using this option, all test programs were rewritten in PowerShell. nkf32 is no longer required for testing. - Added the
-16le
and-16be
options to force interpretation as UTF-16 little-endian or big-endian encoding, respectively. -semicolon
: Enabled using semicolons as field delimiters (for some European locales that use commas as decimal separators). Considered allowing arbitrary delimiter strings, but decided against it to avoid potential issues.-nonutf8
: Added an option to handle cases where data is incorrectly interpreted as UTF-8 when it is not actually encoded that way.- Added the
-help
option to display a list of available options. - Increased the number of leading bytes checked to detect UTF-16 encoding from the previous value to 10 bytes.
Apr 8 2024
- Rename from CSView to CSVI because not a few products that have the same name exist in the same category.
- Previously, users must have waited until all the lines were read, but now users can operate when the first 100 lines are read. The rest lines are read while waiting for key input.
- Improve memory efficiency by holding row data with "container/list" now, those were held with slice.
- Fix:
o
after>
: the last line was joined with the previous line in the saved file. - Prevent the displayed position from being incorrect even when it contains the character whose width is difficult to judge
- Fix: the problem abortion at starting on Windows 8.1
- Enable to build without
env GOEXPERIMENT=rangefunc
- Show (CURRENT-COLUMN-POSITION,CURRENT-ROW-POSITION/ALL-READ-ROWS-NUMBER) on the status line.
Mar 31 2024
- Support UTF16
- Judge the file encoding UTF16 when the first two bytes are
\xFE\xFF
or\xFF\xFE
, or\0
is one of the two bytes
- Judge the file encoding UTF16 when the first two bytes are
Mar 27 2024
- Fix the problem the cache buffer for drawing did not work on v1.3.0
- Set 1 as the default value of
-h
option and the first line is fixed header on default- To disable, use
-h 0
- Change the type
uint
(unsigned integer)
- To disable, use
- The width of the cells can be changed with
-w uint
- Even when the double quotations get redundant as the result to edit, they are not removed now
- When inputting the save filename, the initial position of the cursor is now before the extension
- Modifying the package
uncsv
- Rename:
(Cell) ReadableSource
→(Cell) SourceText()
- Implment:
(Cell) Source
that returns the binary value before decoding
- Rename:
Mar 25 2024
[CRLF]
or[LF]
in the status line now indicates the line feed code of the current line instead of the representative line feed code of the entire file.- Rename sub-package:
csv
(unbreakable-csv
) touncsv
(uncsv
) - The first few lines can now be fixed as header lines.(
-h int
)
Feb 29 2024
a
,o
,O
: make new cell and repaint before getline is called- Readline: Ctrl-P: fetch the value of the cell above the same column
- Readline: TAB: complete with the values of the cell above the same column
- In principle, data other than cells changed by the user will remain as they are
- If ByteOrderMark is attached to the beginning of the file, do not delete
- Do not insert ByteOrderMark if there is no BOM at the beginning of the file
- For cells that do not contain line breaks or commas, double quotation marks are not added or deleted , and the current status is kept
- Even if the line break code is different from LF or CRLF for each line, maintain it as much as possible.
a
: works same asr
when the current line is emptyw
: support filename completion- Enabled to specify encoding other than UTF8 with
-iana NAME
(mainly for Linux) - Cell source data is now displayed on the status line.
- Draw underline on the modified cells
- Implement
"
: enclose or remove double quotations if possible - Implement
u
: restore the original value of the current cell - Fix: cell width was incorrect when it contained characters whose widths are ambiguous
- Add key assigns:
G
:Go to EOF,Enter
:go to next line,TAB
:go to the rightside cell,Shift
+TAB
:go to the leftside cell
Feb 16 2024
- Fix: the attributes of text converted by SKK were incorrect on Windows 8.1
Oct 01 2023
- Strings being converted with SKK are now displayed as reversed or underlined
- Fix: SKK failed to start when user-jisyo file did not exist
Sep 20 2023
- Use
:
for the path list separator instead of;
from %GOREADLINESKK% on Linux
Sep 20 2023
- Backport from lispread
- Implement 'y'(yank) and 'p'(paste)
- "o" and "O" query the text for the new cell now
- Fix: error was not reported when the specified file is a directory
- When no arguments are given and stdin is terminal, start with 1 cell immidiately
- Support go-readline-skk
Sep 11 2023
- Fix for the the imcompatibility between v0.8.3 and v0.14.0 of go-readline-ny
Nov 23 2022
- Fix: (#3) Too long field breaks the screen layout
Feb 19 2022
- Display [TSV],[CSV],[LF],[CRLF] on the status line.
Dec 10 2021
- Change visual:
- Change the field width 12 to 14
- Change the background pattern: blue-ichimatsu -> gray-stripe
- Show all cell string when the rightside cell is empty
- Show
[BOM]``[ANSI]
marks
w
can override exist file- Output with ansi-encoding if input file is encoded by ansi-encoding
- Fix: on Linux, the size of the output was zero bytes
- BOM is restored to the saved file when original file has a BOM
- Fix: empty lines in the input data were ignored.
x
: assign delete cell same asd
Mar 27 2020
o
- append a new line after the current lineO
- insert a new line before the current lineD
- delete the current line
Nov 4 2019
- Support window resized
- Implement Ctrl-L repaint
w
: (save)- field separator for output becomes one for input now
- do not overwrite to a existing file
- default fname is args[0] or "-"
- filename '-' means stdout
- Use stderr for drawing rather than stdout
q
: (quit) ask yes/no
Nov 2 2019
- Support editing and writing to the file.
Oct 31 2019
- Implement search command
/
,?
,n
,N
Oct 27 2019
- first release