rfjakob
1b4f6ecb12
save: fsync data safely to disk ( #2681 )
...
On modern Linux systems, it can take 30 seconds for
the data to actually hit the disk (check
/proc/sys/vm/dirty_expire_centisecs).
If the computer crashes in those 30 seconds, the user
may end up with an empty file as seen here:
https://github.com/neovim/neovim/issues/9888
This is why editors like vim and nano call
the fsync syscall after they wrote the file.
This syscall is available as file.Sync() in Go.
Running strace against micro shows that fsync is
called as expected:
$ strace -f -p $(pgrep micro) -e fsync
strace: Process 3284344 attached with 9 threads
[pid 3284351] fsync(8) = 0
Also, we now catch errors returned from w.Flush().
2023-05-25 22:21:19 -07:00
Zachary Yedidia
2e9dabd434
Fix save with sudo for large file sizes
...
Fixes #2200
2022-11-02 16:00:12 -07:00
Dmitry Maluka
298fa40f90
Fix buffer.RuneAt ( #1895 )
...
Fix buffer.RuneAt returning the rune not at the given location (as the
documentation claims) but just before it.
2020-10-19 20:36:14 -04:00
Zachary Yedidia
8956448fca
UpdateRules after save is successful
2020-05-28 13:06:29 -04:00
Zachary Yedidia
79c0ea17ad
Use CharacterCount over RuneCount
2020-05-20 16:47:08 -04:00
Zachary Yedidia
eff89a98a7
Fix v2 import path for go mod
2020-05-04 10:16:15 -04:00
Zachary Yedidia
d78fe81e21
line_array insert for eofnewline and make default
...
Makes the `eofnewline` option enabled by default.
Fixes #1525
2020-02-24 22:31:05 -05:00
josh
25b9342fbe
fix eofnewline not running on files with 1 rune ( #1535 )
2020-02-24 22:26:51 -05:00
Zachary Yedidia
6f424f3213
Properly flush bufio writer
2020-02-09 15:36:31 -05:00
Zachary Yedidia
e110e93e0f
Improve disk performance with buffered io
2020-02-09 15:21:23 -05:00
Zachary Yedidia
13e30a63eb
Minor improvements
2020-02-09 00:40:50 -05:00
Bonnie
c2c0325384
Fix #1383 : "Save with Sudo" rewrite ( #1424 )
...
* Rewrite save with sudo (Fixes #1383 )
* Combine overrideFile & overrideFileAsRoot into 1 function
2020-01-03 17:39:12 -05:00
Zachary Yedidia
9333354fc8
Fix save with sudo on mac
2020-01-02 01:25:00 -05:00
Zachary Yedidia
6681387b47
Support for file reloading if changed externally
2019-12-26 17:59:23 -05:00
Zachary Yedidia
3f22501b1a
Improved save with sudo
2019-12-25 17:05:11 -05:00
Zachary Yedidia
c0293b5d0e
Add autosave option
2019-12-25 17:05:11 -05:00
Zachary Yedidia
ccb5904591
Add mkparents option
2019-12-25 17:05:11 -05:00
Zachary Yedidia
adfeaf52ba
Fix serialization
2019-12-25 17:05:10 -05:00
Zachary Yedidia
0612af1590
Change project layout and use go.mod
2019-12-25 17:05:10 -05:00