Skip to content

Releases: fbundle/microscope

0.1.9

26 Mar 05:55

Choose a tag to compare

FEATURE

  • very basic text editor
  • added basic keyboard support: Ctrl+C,Ctrl+S, Enter, Backspace, Delete, Left,Right,Up,Down,Home,End,PgUp,PgDn
  • first working code - file are loaded lazily
  • improved performance with mmap
  • added option for read only
  • added loading status - basically execute draw every second
  • [experimental] added parallel indexing, use PARALLEL_INDEXING=1 to enable
  • fixed for too short characters - render give the whole row not according to window width anymore
  • change frontend to tcell - much better
  • improved structure, improve frontend
  • added journal file (file is saved every 10 seconds or when buffer is full), use DISABLE_JOURNAL=1 to disable
  • add journal file replay, remove save function completely. if user wants to save a file, they has to use telescope -r <input_file>, the content will be written to stdout. DISABLE_JOURNAL=1 no longer works
  • rename journal to log
  • fix a critical bug, printing using fmt.Fprintf doesn't escape % in code
  • log is now use length-prefixed format so that the same file can be decoded using multiple format
  • add function to print out human readable log format
  • fixed exit condition - bufio.Writer is used, log will be written at the end of the program or every LOG_FLUSH_INTERVAL_S=60 seconds
  • fixed a bug that the UI keeps reading mmap.ReaderAt while is it already closed - just return []rune{} if the file is closed
  • decompose loading and editor logic
  • improve robustness
  • added undo redo with Ctrl+U and Ctrl+R, added keyboard shortcuts in help message
  • added max history size
  • fixed some bug when refactoring code, fix some rendering bug and improve usability
  • fixed bug with replaying log
  • remove exitting delay
  • [experimental] added VISUAL/COMMAND/INSERT mode
  • fixed VISUAL/COMMAND/INSERT mode sometimes hangs at start-up
  • fixed bug when typing to the right end of the screen
  • added default behavior when there is no input file specified
  • added regexp search
  • refactor - VISUAL/COMMAND/INSERT is now default
  • rename VISUAL -> NORMAL
  • added clipboard and selector, now has 4 modes: NORMAL COMMAND VISUAL INSERT
  • fixed bug pgdn doesn't register selector
  • optimize size of core.text.Line to a 16 bytes
  • make clipboard just another persistent vector (vector.Vector) to save space and copying more efficient (but log still contains the whole text)
  • vector.Vector -> seq.Seq
  • added write to input file, when user use :w without specifying an output file, program will load input file into memory and write it back to the input file
  • added commands: :w to overwrite the file, :q! = :q, :wq = :w
  • added using b or g to go to beg of file, e or G to go to end of file
  • added basic mouse support: scroll up, scroll down, left click
  • update interface
  • added gotoAndFixWithoutLock to absolute position
  • improve robustness, now, interrupt like SIGINT (Ctrl+C) will preserve the log to restore later
  • fixed bug writing to not exist file
  • fixed empty command
  • rename the project from telescope into microscope - initially I thought of microscope but didn't connect to the english word
  • fix WBT for the case adding single lines (not for merging and cutting multiple lines)

TODO

  • added cache for file loading
  • optimize size of core.text.Line to a single int64
  • make binary serializer works with delete lines and insert lines
  • add compressed log: compress multiple type into a single type (Text []rune instead of Rune rune)

0.1.8b

13 Oct 16:33

Choose a tag to compare

FEATURE

  • very basic text editor
  • added basic keyboard support: Ctrl+C,Ctrl+S, Enter, Backspace, Delete, Left,Right,Up,Down,Home,End,PgUp,PgDn
  • first working code - file are loaded lazily
  • improved performance with mmap
  • added option for read only
  • added loading status - basically execute draw every second
  • [experimental] added parallel indexing, use PARALLEL_INDEXING=1 to enable
  • fixed for too short characters - render give the whole row not according to window width anymore
  • change frontend to tcell - much better
  • improved structure, improve frontend
  • added journal file (file is saved every 10 seconds or when buffer is full), use DISABLE_JOURNAL=1 to disable
  • add journal file replay, remove save function completely. if user wants to save a file, they has to use telescope -r <input_file>, the content will be written to stdout. DISABLE_JOURNAL=1 no longer works
  • rename journal to log
  • fix a critical bug, printing using fmt.Fprintf doesn't escape % in code
  • log is now use length-prefixed format so that the same file can be decoded using multiple format
  • add function to print out human readable log format
  • fixed exit condition - bufio.Writer is used, log will be written at the end of the program or every LOG_FLUSH_INTERVAL_S=60 seconds
  • fixed a bug that the UI keeps reading mmap.ReaderAt while is it already closed - just return []rune{} if the file is closed
  • decompose loading and editor logic
  • improve robustness
  • added undo redo with Ctrl+U and Ctrl+R, added keyboard shortcuts in help message
  • added max history size
  • fixed some bug when refactoring code, fix some rendering bug and improve usability
  • fixed bug with replaying log
  • remove exitting delay
  • [experimental] added VISUAL/COMMAND/INSERT mode
  • fixed VISUAL/COMMAND/INSERT mode sometimes hangs at start-up
  • fixed bug when typing to the right end of the screen
  • added default behavior when there is no input file specified
  • added regexp search
  • refactor - VISUAL/COMMAND/INSERT is now default
  • rename VISUAL -> NORMAL
  • added clipboard and selector, now has 4 modes: NORMAL COMMAND VISUAL INSERT
  • fixed bug pgdn doesn't register selector
  • optimize size of core.text.Line to a 16 bytes
  • make clipboard just another persistent vector (vector.Vector) to save space and copying more efficient (but log still contains the whole text)
  • vector.Vector -> seq.Seq
  • added write to input file, when user use :w without specifying an output file, program will load input file into memory and write it back to the input file
  • added commands: :w to overwrite the file, :q! = :q, :wq = :w
  • added using b or g to go to beg of file, e or G to go to end of file
  • added basic mouse support: scroll up, scroll down, left click
  • update interface
  • added gotoAndFixWithoutLock to absolute position
  • improve robustness, now, interrupt like SIGINT (Ctrl+C) will preserve the log to restore later
  • fixed bug writing to not exist file
  • fixed empty command

TODO

  • added cache for file loading
  • optimize size of core.text.Line to a single int64
  • make binary serializer works with delete lines and insert lines
  • add compressed log: compress multiple type into a single type (Text []rune instead of Rune rune)

0.1.8a

08 Oct 15:09

Choose a tag to compare

FEATURE

  • very basic text editor
  • added basic keyboard support: Ctrl+C,Ctrl+S, Enter, Backspace, Delete, Left,Right,Up,Down,Home,End,PgUp,PgDn
  • first working code - file are loaded lazily
  • improved performance with mmap
  • added option for read only
  • added loading status - basically execute draw every second
  • [experimental] added parallel indexing, use PARALLEL_INDEXING=1 to enable
  • fixed for too short characters - render give the whole row not according to window width anymore
  • change frontend to tcell - much better
  • improved structure, improve frontend
  • added journal file (file is saved every 10 seconds or when buffer is full), use DISABLE_JOURNAL=1 to disable
  • add journal file replay, remove save function completely. if user wants to save a file, they has to use telescope -r <input_file>, the content will be written to stdout. DISABLE_JOURNAL=1 no longer works
  • rename journal to log
  • fix a critical bug, printing using fmt.Fprintf doesn't escape % in code
  • log is now use length-prefixed format so that the same file can be decoded using multiple format
  • add function to print out human readable log format
  • fixed exit condition - bufio.Writer is used, log will be written at the end of the program or every LOG_FLUSH_INTERVAL_S=60 seconds
  • fixed a bug that the UI keeps reading mmap.ReaderAt while is it already closed - just return []rune{} if the file is closed
  • decompose loading and editor logic
  • improve robustness
  • added undo redo with Ctrl+U and Ctrl+R, added keyboard shortcuts in help message
  • added max history size
  • fixed some bug when refactoring code, fix some rendering bug and improve usability
  • fixed bug with replaying log
  • remove exitting delay
  • [experimental] added VISUAL/COMMAND/INSERT mode
  • fixed VISUAL/COMMAND/INSERT mode sometimes hangs at start-up
  • fixed bug when typing to the right end of the screen
  • added default behavior when there is no input file specified
  • added regexp search
  • refactor - VISUAL/COMMAND/INSERT is now default
  • rename VISUAL -> NORMAL
  • added clipboard and selector, now has 4 modes: NORMAL COMMAND VISUAL INSERT
  • fixed bug pgdn doesn't register selector
  • optimize size of core.text.Line to a 16 bytes
  • make clipboard just another persistent vector (vector.Vector) to save space and copying more efficient (but log still contains the whole text)
  • vector.Vector -> seq.Seq
  • added write to input file, when user use :w without specifying an output file, program will load input file into memory and write it back to the input file
  • added commands: :w to overwrite the file, :q! = :q, :wq = :w
  • added using b or g to go to beg of file, e or G to go to end of file
  • added basic mouse support: scroll up, scroll down, left click
  • update interface
  • added gotoAndFixWithoutLock to absolute position
  • improve robustness, now, interrupt like SIGINT (Ctrl+C) will preserve the log to restore later
  • fixed bug writing to not exist file

TODO

  • added cache for file loading
  • optimize size of core.text.Line to a single int64
  • make binary serializer works with delete lines and insert lines
  • add compressed log: compress multiple type into a single type (Text []rune instead of Rune rune)

0.1.8

16 Aug 07:38

Choose a tag to compare

FEATURE

  • very basic text editor
  • added basic keyboard support: Ctrl+C,Ctrl+S, Enter, Backspace, Delete, Left,Right,Up,Down,Home,End,PgUp,PgDn
  • first working code - file are loaded lazily
  • improved performance with mmap
  • added option for read only
  • added loading status - basically execute draw every second
  • [experimental] added parallel indexing, use PARALLEL_INDEXING=1 to enable
  • fixed for too short characters - render give the whole row not according to window width anymore
  • change frontend to tcell - much better
  • improved structure, improve frontend
  • added journal file (file is saved every 10 seconds or when buffer is full), use DISABLE_JOURNAL=1 to disable
  • add journal file replay, remove save function completely. if user wants to save a file, they has to use telescope -r <input_file>, the content will be written to stdout. DISABLE_JOURNAL=1 no longer works
  • rename journal to log
  • fix a critical bug, printing using fmt.Fprintf doesn't escape % in code
  • log is now use length-prefixed format so that the same file can be decoded using multiple format
  • add function to print out human readable log format
  • fixed exit condition - bufio.Writer is used, log will be written at the end of the program or every LOG_FLUSH_INTERVAL_S=60 seconds
  • fixed a bug that the UI keeps reading mmap.ReaderAt while is it already closed - just return []rune{} if the file is closed
  • decompose loading and editor logic
  • improve robustness
  • added undo redo with Ctrl+U and Ctrl+R, added keyboard shortcuts in help message
  • added max history size
  • fixed some bug when refactoring code, fix some rendering bug and improve usability
  • fixed bug with replaying log
  • remove exitting delay
  • [experimental] added VISUAL/COMMAND/INSERT mode
  • fixed VISUAL/COMMAND/INSERT mode sometimes hangs at start-up
  • fixed bug when typing to the right end of the screen
  • added default behavior when there is no input file specified
  • added regexp search
  • refactor - VISUAL/COMMAND/INSERT is now default
  • rename VISUAL -> NORMAL
  • added clipboard and selector, now has 4 modes: NORMAL COMMAND VISUAL INSERT
  • fixed bug pgdn doesn't register selector
  • optimize size of core.text.Line to a 16 bytes
  • make clipboard just another persistent vector (vector.Vector) to save space and copying more efficient (but log still contains the whole text)
  • vector.Vector -> seq.Seq
  • added write to input file, when user use :w without specifying an output file, program will load input file into memory and write it back to the input file
  • added commands: :w to overwrite the file, :q! = :q, :wq = :w
  • added using b or g to go to beg of file, e or G to go to end of file
  • added basic mouse support: scroll up, scroll down, left click
  • update interface
  • added gotoAndFixWithoutLock to absolute position
  • improve robustness, now, interrupt like SIGINT (Ctrl+C) will preserve the log to restore later

TODO

  • added cache for file loading
  • optimize size of core.text.Line to a single int64
  • make binary serializer works with delete lines and insert lines
  • add compressed log: compress multiple type into a single type (Text []rune instead of Rune rune)

0.1.7f

14 Aug 17:02

Choose a tag to compare

FEATURE

  • very basic text editor
  • added basic keyboard support: Ctrl+C,Ctrl+S, Enter, Backspace, Delete, Left,Right,Up,Down,Home,End,PgUp,PgDn
  • first working code - file are loaded lazily
  • improved performance with mmap
  • added option for read only
  • added loading status - basically execute draw every second
  • [experimental] added parallel indexing, use PARALLEL_INDEXING=1 to enable
  • fixed for too short characters - render give the whole row not according to window width anymore
  • change frontend to tcell - much better
  • improved structure, improve frontend
  • added journal file (file is saved every 10 seconds or when buffer is full), use DISABLE_JOURNAL=1 to disable
  • add journal file replay, remove save function completely. if user wants to save a file, they has to use telescope -r <input_file>, the content will be written to stdout. DISABLE_JOURNAL=1 no longer works
  • rename journal to log
  • fix a critical bug, printing using fmt.Fprintf doesn't escape % in code
  • log is now use length-prefixed format so that the same file can be decoded using multiple format
  • add function to print out human readable log format
  • fixed exit condition - bufio.Writer is used, log will be written at the end of the program or every LOG_FLUSH_INTERVAL_S=60 seconds
  • fixed a bug that the UI keeps reading mmap.ReaderAt while is it already closed - just return []rune{} if the file is closed
  • decompose loading and editor logic
  • improve robustness
  • added undo redo with Ctrl+U and Ctrl+R, added keyboard shortcuts in help message
  • added max history size
  • fixed some bug when refactoring code, fix some rendering bug and improve usability
  • fixed bug with replaying log
  • remove exitting delay
  • [experimental] added VISUAL/COMMAND/INSERT mode
  • fixed VISUAL/COMMAND/INSERT mode sometimes hangs at start-up
  • fixed bug when typing to the right end of the screen
  • added default behavior when there is no input file specified
  • added regexp search
  • refactor - VISUAL/COMMAND/INSERT is now default
  • rename VISUAL -> NORMAL
  • added clipboard and selector, now has 4 modes: NORMAL COMMAND VISUAL INSERT
  • fixed bug pgdn doesn't register selector
  • optimize size of core.text.Line to a 16 bytes
  • make clipboard just another persistent vector (vector.Vector) to save space and copying more efficient (but log still contains the whole text)
  • vector.Vector -> seq.Seq
  • added write to input file, when user use :w without specifying an output file, program will load input file into memory and write it back to the input file
  • added commands: :w to overwrite the file, :q! = :q, :wq = :w
  • added using b or g to go to beg of file, e or G to go to end of file
  • added basic mouse support: scroll up, scroll down, left click
  • update interface
  • added gotoAndFixWithoutLock to absolute position

TODO

  • make main loop logic more robust
  • added cache for file loading
  • optimize size of core.text.Line to a single int64
  • make binary serializer works with delete lines and insert lines
  • add compressed log: compress multiple type into a single type (Text []rune instead of Rune rune)

0.1.7e

06 Aug 10:15

Choose a tag to compare

FEATURE

  • very basic text editor
  • added basic keyboard support: Ctrl+C,Ctrl+S, Enter, Backspace, Delete, Left,Right,Up,Down,Home,End,PgUp,PgDn
  • first working code - file are loaded lazily
  • improved performance with mmap
  • added option for read only
  • added loading status - basically execute draw every second
  • [experimental] added parallel indexing, use PARALLEL_INDEXING=1 to enable
  • fixed for too short characters - render give the whole row not according to window width anymore
  • change frontend to tcell - much better
  • improved structure, improve frontend
  • added journal file (file is saved every 10 seconds or when buffer is full), use DISABLE_JOURNAL=1 to disable
  • add journal file replay, remove save function completely. if user wants to save a file, they has to use telescope -r <input_file>, the content will be written to stdout. DISABLE_JOURNAL=1 no longer works
  • rename journal to log
  • fix a critical bug, printing using fmt.Fprintf doesn't escape % in code
  • log is now use length-prefixed format so that the same file can be decoded using multiple format
  • add function to print out human readable log format
  • fixed exit condition - bufio.Writer is used, log will be written at the end of the program or every LOG_FLUSH_INTERVAL_S=60 seconds
  • fixed a bug that the UI keeps reading mmap.ReaderAt while is it already closed - just return []rune{} if the file is closed
  • decompose loading and editor logic
  • improve robustness
  • added undo redo with Ctrl+U and Ctrl+R, added keyboard shortcuts in help message
  • added max history size
  • fixed some bug when refactoring code, fix some rendering bug and improve usability
  • fixed bug with replaying log
  • remove exitting delay
  • [experimental] added VISUAL/COMMAND/INSERT mode
  • fixed VISUAL/COMMAND/INSERT mode sometimes hangs at start-up
  • fixed bug when typing to the right end of the screen
  • added default behavior when there is no input file specified
  • added regexp search
  • refactor - VISUAL/COMMAND/INSERT is now default
  • rename VISUAL -> NORMAL
  • added clipboard and selector, now has 4 modes: NORMAL COMMAND VISUAL INSERT
  • fixed bug pgdn doesn't register selector
  • optimize size of core.text.Line to a 16 bytes
  • make clipboard just another persistent vector (vector.Vector) to save space and copying more efficient (but log still contains the whole text)
  • vector.Vector -> seq.Seq
  • added write to input file, when user use :w without specifying an output file, program will load input file into memory and write it back to the input file
  • added commands: :w to overwrite the file, :q! = :q, :wq = :w
  • added using b or g to go to beg of file, e or G to go to end of file
  • added basic mouse support: scroll up, scroll down, left click

TODO

  • optimize size of core.text.Line to a single int64
  • make binary serializer works with delete lines and insert lines
  • add compressed log: compress multiple type into a single type (Text []rune instead of Rune rune)

0.1.7d

04 Aug 16:09

Choose a tag to compare

FEATURE

  • very basic text editor
  • added basic keyboard support: Ctrl+C,Ctrl+S, Enter, Backspace, Delete, Left,Right,Up,Down,Home,End,PgUp,PgDn
  • first working code - file are loaded lazily
  • improved performance with mmap
  • added option for read only
  • added loading status - basically execute draw every second
  • [experimental] added parallel indexing, use PARALLEL_INDEXING=1 to enable
  • fixed for too short characters - render give the whole row not according to window width anymore
  • change frontend to tcell - much better
  • improved structure, improve frontend
  • added journal file (file is saved every 10 seconds or when buffer is full), use DISABLE_JOURNAL=1 to disable
  • add journal file replay, remove save function completely. if user wants to save a file, they has to use telescope -r <input_file>, the content will be written to stdout. DISABLE_JOURNAL=1 no longer works
  • rename journal to log
  • fix a critical bug, printing using fmt.Fprintf doesn't escape % in code
  • log is now use length-prefixed format so that the same file can be decoded using multiple format
  • add function to print out human readable log format
  • fixed exit condition - bufio.Writer is used, log will be written at the end of the program or every LOG_FLUSH_INTERVAL_S=60 seconds
  • fixed a bug that the UI keeps reading mmap.ReaderAt while is it already closed - just return []rune{} if the file is closed
  • decompose loading and editor logic
  • improve robustness
  • added undo redo with Ctrl+U and Ctrl+R, added keyboard shortcuts in help message
  • added max history size
  • fixed some bug when refactoring code, fix some rendering bug and improve usability
  • fixed bug with replaying log
  • remove exitting delay
  • [experimental] added VISUAL/COMMAND/INSERT mode
  • fixed VISUAL/COMMAND/INSERT mode sometimes hangs at start-up
  • fixed bug when typing to the right end of the screen
  • added default behavior when there is no input file specified
  • added regexp search
  • refactor - VISUAL/COMMAND/INSERT is now default
  • rename VISUAL -> NORMAL
  • added clipboard and selector, now has 4 modes: NORMAL COMMAND VISUAL INSERT
  • fixed bug pgdn doesn't register selector
  • optimize size of core.text.Line to a 16 bytes
  • make clipboard just another persistent vector (vector.Vector) to save space and copying more efficient (but log still contains the whole text)

TODO

  • optimize size of core.text.Line to a single int64
  • make binary serializer works with delete lines and insert lines
  • add compressed log: compress multiple type into a single type (Text []rune instead of Rune rune)

0.1.7c

01 Aug 15:24

Choose a tag to compare

FEATURE

  • very basic text editor
  • added basic keyboard support: Ctrl+C,Ctrl+S, Enter, Backspace, Delete, Left,Right,Up,Down,Home,End,PgUp,PgDn
  • first working code - file are loaded lazily
  • improved performance with mmap
  • added option for read only
  • added loading status - basically execute draw every second
  • [experimental] added parallel indexing, use PARALLEL_INDEXING=1 to enable
  • fixed for too short characters - render give the whole row not according to window width anymore
  • change frontend to tcell - much better
  • improved structure, improve frontend
  • added journal file (file is saved every 10 seconds or when buffer is full), use DISABLE_JOURNAL=1 to disable
  • add journal file replay, remove save function completely. if user wants to save a file, they has to use telescope -r <input_file>, the content will be written to stdout. DISABLE_JOURNAL=1 no longer works
  • rename journal to log
  • fix a critical bug, printing using fmt.Fprintf doesn't escape % in code
  • log is now use length-prefixed format so that the same file can be decoded using multiple format
  • add function to print out human readable log format
  • fixed exit condition - bufio.Writer is used, log will be written at the end of the program or every LOG_FLUSH_INTERVAL_S=60 seconds
  • fixed a bug that the UI keeps reading mmap.ReaderAt while is it already closed - just return []rune{} if the file is closed
  • decompose loading and editor logic
  • improve robustness
  • added undo redo with Ctrl+U and Ctrl+R, added keyboard shortcuts in help message
  • added max history size
  • fixed some bug when refactoring code, fix some rendering bug and improve usability
  • fixed bug with replaying log
  • remove exitting delay
  • [experimental] added VISUAL/COMMAND/INSERT mode
  • fixed VISUAL/COMMAND/INSERT mode sometimes hangs at start-up
  • fixed bug when typing to the right end of the screen
  • added default behavior when there is no input file specified
  • added regexp search
  • refactor - VISUAL/COMMAND/INSERT is now default
  • rename VISUAL -> NORMAL
  • added clipboard and selector, now has 4 modes: NORMAL COMMAND VISUAL INSERT
  • fixed bug pgdn doesn't register selector
  • optimize size of core.text.Line to a 24 bytes

TODO

  • optimize size of core.text.Line to a single int64
  • make clipboard just another persistent vector (vector.Vector) to save space and copying more efficient
  • make binary serializer works with delete lines and insert lines
  • add compressed log: compress multiple type into a single type (Text []rune instead of Rune rune)

0.1.7b

01 Aug 08:58

Choose a tag to compare

FEATURE

  • very basic text editor
  • added basic keyboard support: Ctrl+C,Ctrl+S, Enter, Backspace, Delete, Left,Right,Up,Down,Home,End,PgUp,PgDn
  • first working code - file are loaded lazily
  • improved performance with mmap
  • added option for read only
  • added loading status - basically execute draw every second
  • [experimental] added parallel indexing, use PARALLEL_INDEXING=1 to enable
  • fixed for too short characters - render give the whole row not according to window width anymore
  • change frontend to tcell - much better
  • improved structure, improve frontend
  • added journal file (file is saved every 10 seconds or when buffer is full), use DISABLE_JOURNAL=1 to disable
  • add journal file replay, remove save function completely. if user wants to save a file, they has to use telescope -r <input_file>, the content will be written to stdout. DISABLE_JOURNAL=1 no longer works
  • rename journal to log
  • fix a critical bug, printing using fmt.Fprintf doesn't escape % in code
  • log is now use length-prefixed format so that the same file can be decoded using multiple format
  • add function to print out human readable log format
  • fixed exit condition - bufio.Writer is used, log will be written at the end of the program or every LOG_FLUSH_INTERVAL_S=60 seconds
  • fixed a bug that the UI keeps reading mmap.ReaderAt while is it already closed - just return []rune{} if the file is closed
  • decompose loading and editor logic
  • improve robustness
  • added undo redo with Ctrl+U and Ctrl+R, added keyboard shortcuts in help message
  • added max history size
  • fixed some bug when refactoring code, fix some rendering bug and improve usability
  • fixed bug with replaying log
  • remove exitting delay
  • [experimental] added VISUAL/COMMAND/INSERT mode
  • fixed VISUAL/COMMAND/INSERT mode sometimes hangs at start-up
  • fixed bug when typing to the right end of the screen
  • added default behavior when there is no input file specified
  • added regexp search
  • refactor - VISUAL/COMMAND/INSERT is now default
  • rename VISUAL -> NORMAL
  • added clipboard and selector, now has 4 modes: NORMAL COMMAND VISUAL INSERT
  • fixed bug pgdn doesn't register selector

TODO

  • make binary serializer works with delete lines and insert lines
  • add compressed log: compress multiple type into a single type (Text []rune instead of Rune rune)

0.1.7

01 Aug 08:32

Choose a tag to compare

FEATURE

  • very basic text editor
  • added basic keyboard support: Ctrl+C,Ctrl+S, Enter, Backspace, Delete, Left,Right,Up,Down,Home,End,PgUp,PgDn
  • first working code - file are loaded lazily
  • improved performance with mmap
  • added option for read only
  • added loading status - basically execute draw every second
  • [experimental] added parallel indexing, use PARALLEL_INDEXING=1 to enable
  • fixed for too short characters - render give the whole row not according to window width anymore
  • change frontend to tcell - much better
  • improved structure, improve frontend
  • added journal file (file is saved every 10 seconds or when buffer is full), use DISABLE_JOURNAL=1 to disable
  • add journal file replay, remove save function completely. if user wants to save a file, they has to use telescope -r <input_file>, the content will be written to stdout. DISABLE_JOURNAL=1 no longer works
  • rename journal to log
  • fix a critical bug, printing using fmt.Fprintf doesn't escape % in code
  • log is now use length-prefixed format so that the same file can be decoded using multiple format
  • add function to print out human readable log format
  • fixed exit condition - bufio.Writer is used, log will be written at the end of the program or every LOG_FLUSH_INTERVAL_S=60 seconds
  • fixed a bug that the UI keeps reading mmap.ReaderAt while is it already closed - just return []rune{} if the file is closed
  • decompose loading and editor logic
  • improve robustness
  • added undo redo with Ctrl+U and Ctrl+R, added keyboard shortcuts in help message
  • added max history size
  • fixed some bug when refactoring code, fix some rendering bug and improve usability
  • fixed bug with replaying log
  • remove exitting delay
  • [experimental] added VISUAL/COMMAND/INSERT mode
  • fixed VISUAL/COMMAND/INSERT mode sometimes hangs at start-up
  • fixed bug when typing to the right end of the screen
  • added default behavior when there is no input file specified
  • added regexp search
  • refactor - VISUAL/COMMAND/INSERT is now default
  • rename VISUAL -> NORMAL
  • added clipboard and selector, now has 4 modes: NORMAL COMMAND VISUAL INSERT

TODO

  • make binary serializer works with delete lines and insert lines
  • add compressed log: compress multiple type into a single type (Text []rune instead of Rune rune)