Commit graph

1263 commits

Author SHA1 Message Date
Zachary Yedidia
ffebb58d92 Update autoclose 2017-02-23 22:20:33 -05:00
Zachary Yedidia
5024ecd640 Add colorscheme complete function
This function is not used at the moment.
2017-02-23 16:32:33 -05:00
Zachary Yedidia
043f7cdc47 Fix various linter and vet warnings 2017-02-21 13:07:37 -05:00
Zachary Yedidia
4d1ad52405 Fix find and replace counter 2017-02-20 18:33:44 -05:00
Samantha Marshall
bb55fc4150
fixing bug in closing tabs and not being able to select tabs 2017-02-20 18:01:29 -05:00
Zachary Yedidia
263eec7368 Resize all tabs on EventResize
Fixes #552
2017-02-20 13:08:14 -05:00
Zachary Yedidia
7b03f5bab2 Fix bold highlighting not working right 2017-02-20 09:28:37 -05:00
Samantha Marshall
e379239140
fixing hex number highlighting for nim 2017-02-19 16:04:42 -05:00
Zachary Yedidia
c1db99a5a5 Merge pull request #522 from samdmarshall/master
Redo of #516 -- Making micro a bit more user-friendly around the quitting behavior
2017-02-16 15:57:04 -05:00
Zachary Yedidia
fb2bf7a377 Merge pull request #520 from samdmarshall/tab-scrolling
adding tab scrolling and additional tab indicators
2017-02-16 15:51:19 -05:00
Zachary Yedidia
9404b731ec Don't trim arguments for 'set' 2017-02-15 12:56:40 -05:00
Zachary Yedidia
d695d12872 Update go highlighting 2017-02-10 21:00:31 -05:00
TANIGUCHI Masaya
4c678c4936 add c++ linter 2017-02-08 15:11:23 +09:00
TANIGUCHI Masaya
97632e5573 add keywords 2017-02-08 14:36:39 +09:00
Zachary Yedidia
5dc8fe40ca Add option to disable use of a the primary clipboard
Closes #544
2017-02-07 19:21:25 -05:00
Zachary Yedidia
28af256be0 Fix stringwidth build 2017-02-03 07:32:48 -05:00
Zachary Yedidia
c3a165e61d Merge pull request #539 from samdmarshall/nim
Adding syntax and linter support for nim-lang
2017-02-02 23:00:12 -05:00
Zachary Yedidia
33e5dd4aed Update runtime 2017-01-27 10:32:58 -05:00
Samantha Marshall
9122f152d1
fixing thestart/end syntax 2017-01-27 08:40:41 -05:00
Samantha Marshall
2202b32f31
finishing up syntax file 2017-01-26 15:50:54 -05:00
Samantha Marshall
15ab0b2fed
adding nim linter and syntax 2017-01-26 14:19:07 -05:00
DanielPower
f7560c3311 Add gruvbox truecolor colorscheme (#530)
* Add gruvbox truecolor colorscheme

* Fixed typo in gruvbox-tv, added operator type in colorschemes

* Added operator type to all default themes

* Changed operator to symbol

* changed operator to symbol due to name conflict

* Removed unused 'operator' field. Fixed gutter-error color

* Restored the statement group and removed operator
2017-01-20 14:32:34 -05:00
Samantha Marshall
ea57d8b883 Adding additional Python and Objective-C linting (#524)
* adding mypy and pylint to the linter plugin

* adding objective-c linting

* updating runtime file
2017-01-17 16:34:11 -05:00
Samantha Marshall
a7e5a5b26c
only prompt the user if they can close all buffers, otherwise it would be misleading 2017-01-10 10:18:49 -05:00
Samantha Marshall
ea0dda98ce
adding different functionality for closing a tab versus quitting micro 2017-01-10 10:13:21 -05:00
Nicolai Søborg
41fb57e449 Fix: incorrect clipboard w/ CutLine, DeleteLine and Search (#508)
* Fix: incorrect clipboard w/ CutLine, DeleteLine and Search

* Refactor: Add Cursor.CopySelection(clipboard)
2017-01-09 18:28:45 -05:00
Samantha Marshall
3783f0a9f0
adding tab scrolling and additional tab indicators 2017-01-04 14:24:13 -05:00
Zachary Yedidia
ae566920b6 Merge pull request #518 from samdmarshall/key-unbinding
Key unbinding
2017-01-04 13:56:34 -05:00
Zachary Yedidia
036ed7b9ed Add SaveAs action
Fixes #509
2017-01-04 13:51:17 -05:00
Zachary Yedidia
5775b4c05d Fix gutter coloring for soft wrap
Fixes #511
2017-01-04 13:29:57 -05:00
Samantha Marshall
29502e7f41
simplify the code around unbinding keys 2017-01-02 11:28:47 -05:00
Samantha Marshall
362d8eabae
Adding functionality to unbind keys
* adds new special-case keybinding to remove an existing default key binding.
* hides the show/close help text in the status line when no key is assigned to "ToggleHelp"
* updating documentation
2017-01-02 10:56:55 -05:00
Zachary Yedidia
143339dd67 Merge 2016-12-26 10:34:41 -05:00
Zachary Yedidia
7611c13d12 Better fix for mouse clicking 2016-12-26 10:33:41 -05:00
Zachary Yedidia
d49e366413 Merge pull request #507 from NicolaiSoeborg/master
Fix travis build (new imports for gopher-luar)
2016-12-25 10:56:53 -05:00
Nicolai
ac5fbd9515 Fix travis build (new imports for gopher-luar)
See
24588ee686
2016-12-25 15:42:18 +01:00
Zachary Yedidia
aef75f9b83 Fix bug with mouse clicks
Fixes #504
2016-12-24 15:34:01 -05:00
Zachary Yedidia
faec861081 Update php rules 2016-12-23 18:25:47 -05:00
Zachary Yedidia
2649b673f7 Merge 2016-12-22 18:34:15 -05:00
Zachary Yedidia
7958dc0592 Update php syntax rules 2016-12-22 18:34:10 -05:00
Zachary Yedidia
379a49f944 Merge pull request #488 from McSwaggens/removewhitespaces-setting
Added removewhitespaces setting
2016-12-22 17:49:49 -05:00
Daniel Jones
a311e07106 Changed removewhitespaces setting to keepautoindent 2016-12-23 09:44:57 +11:00
Zachary Yedidia
496fab031c Merge 2016-12-22 16:38:24 -05:00
Zachary Yedidia
1a95f34b0e Fix prompts not displaying 2016-12-22 16:38:20 -05:00
Zachary Yedidia
d560de4b40 Merge pull request #499 from 10sr/addrmtrailingws
[Proposal] Add feature to trim trailing whitespaces on save
2016-12-22 15:45:55 -05:00
Zachary Yedidia
0d9fc601ac Merge pull request #489 from november-eleven/refactor/plugin-name
Enable human-friendly plugin name
2016-12-22 15:44:09 -05:00
Samantha Marshall
968d5be74e
fixing test, was using incorrect assignment syntax 2016-12-18 15:29:22 -05:00
Samantha Marshall
71ee042218
preventing messages from over-writing the current prompt message 2016-12-18 15:14:18 -05:00
Nicolai Søborg
37ae99ccd9 Fix: mouse clicking with softwrap
When clicking on a long line with softwrap turned on, the cursor will show up in the wrong location (`screenY` will be wrong in `GetSoftWrapLocation`). This seems to fix it.
2016-12-18 00:27:06 +01:00
10sr
701d0dfe3d Add rmtrailingws feature 2016-12-17 11:33:48 +09:00
10sr
5b689a5592 Fix bug that eofnewline does not work on save 2016-12-15 16:29:50 +09:00
Colin Rioux
4e5aa4ecc8 Minor fix to documentation 2016-12-14 15:11:57 -05:00
Zachary Yedidia
5f50d79efa Update docs
Fixes #486
2016-12-14 10:30:03 -05:00
theodus
4cb26d2e8e move to new tab 2016-12-13 12:12:20 -05:00
Zachary Yedidia
1d41634272 Add missing word boundary to python regex
Fixes #490
2016-12-13 09:27:54 -05:00
Zachary Yedidia
32e8284505 Expand '~' in SaveAs
Fixes #491
2016-12-13 08:58:08 -05:00
Thomas LE ROUX
651cb89948 refactor(plugin): Enable human-friendly plugin name 2016-12-12 16:37:48 +01:00
Zachary Yedidia
63f18f033c Update runtime 2016-12-11 16:43:07 -05:00
Daniel Jones
0558de12c6 Added removewhitespaces setting 2016-12-11 23:01:10 +11:00
Zachary Yedidia
d71ad04d98 Display colorscheme error message using TermMessage 2016-12-10 20:36:03 -05:00
Zachary Yedidia
73d14f5d37 Merge pull request #485 from sirikid/syntax-fix
Initial OCaml support (integer and real literals, comments)
2016-12-09 10:41:38 -05:00
Zachary Yedidia
291b1d1efc Use shell to parse command when using JobStart
Also changed all occurrences of JobStart to JobSpawn in the linter
plugin.
2016-12-09 10:34:39 -05:00
Ivan Sokolov
57960bdc81 Initial OCaml support (integers and real literals, comments) 2016-12-08 18:11:56 +03:00
Ivan Sokolov
11e9419258 Simple fix for Pascal syntax highlighting 2016-12-08 05:03:00 +03:00
Zachary Yedidia
3f01f73ea9 Give error message if input is a directory
Fixes #479
2016-12-07 10:28:03 -05:00
Zachary Yedidia
67ac3f1a24 Fix string width for different sized tabs
Fixes #475
2016-12-06 09:09:24 -05:00
Rohan Allison
44fa0d77ff Add Crystal language support (#473)
* ignore micro binary

* Add crystal syntax

* Add more crystal keywords; add character style

* Default character style to string
2016-12-05 18:07:27 -05:00
Nicolai Søborg
128dc9fea1 Log erroneous keybindings 2016-12-05 17:02:46 +01:00
10sr
92362093ab Allow symlink plugin directory 2016-11-30 14:28:13 +09:00
Zachary Yedidia
6fbff048f0 Fix bug with opening empty files 2016-11-29 16:25:16 -05:00
Zachary Yedidia
370e667e91 Remove debug statements 2016-11-29 13:57:26 -05:00
Zachary Yedidia
eeaac76f5f Use io.Readers to read files more efficiently 2016-11-29 13:44:30 -05:00
Zachary Yedidia
d13f9602ff Merge pull request #449 from 10sr/jobSpawn
Add `JobSpawn()` function for plugin interface
2016-11-29 08:57:41 -05:00
Zachary Yedidia
400ac56651 Make tab.CurView public 2016-11-28 20:50:11 -05:00
Zachary Yedidia
5481a834bf Actually rename width, height, lockWidth, lockHeight 2016-11-28 20:28:40 -05:00
Zachary Yedidia
e53229ec00 Make some view vars public 2016-11-28 20:23:22 -05:00
Zachary Yedidia
cee5a88341 Allow creating splits at arbitrary indices 2016-11-28 20:20:30 -05:00
Zachary Yedidia
1b92700990 Allow splits to be created in either direction
This commit adds the `splitRight` and `splitBottom` options to allow
the user to pick which direction to split in.

This also means that a new split is no longer just appended to the list
of splits.
2016-11-28 19:16:49 -05:00
Zachary Yedidia
78b2a99f2e Display 'No name' for empty files 2016-11-28 12:52:45 -05:00
Zachary Yedidia
4e4b4bfe68 Don't open buffer if there was an error loading the file 2016-11-28 10:51:09 -05:00
Zachary Yedidia
543f840912 Order syntax files, with custom syntax files first
Fixes #460
2016-11-23 14:18:20 -05:00
Zachary Yedidia
ea31c662c5 Optimize startup 2016-11-23 11:56:12 -05:00
Zachary Yedidia
c9b9b3d27f Update runtime 2016-11-20 11:07:04 -05:00
Zachary Yedidia
0fbae7610c Fix buffer name problem
Fixes #458
2016-11-19 19:07:51 -05:00
Zachary Yedidia
c692570212 Replace CtrlO with open command
This comit also makes it possible for a binding to auto-type the
beginning of a command into command mode.

Closes #450
2016-11-19 12:57:54 -05:00
Zachary Yedidia
3ecdd96931 Add cd and pwd commands to change the working dir
Closes #451
2016-11-18 16:48:08 -05:00
10sr
7bc8d77387 Add Buffer.AbsPath and a plugin function DirectoryName (#455)
* Add Buffer.AbsPath

* Add a plugin function DirectoryName

* Update plugins.md
2016-11-18 11:53:48 -05:00
Zachary Yedidia
4ce02e4c85 Add foundation for resizing splits arbitrarily
This commit adds the ability to lock a split's width or height so
you can have splits that aren't equally sized. It isn't yet possible
for users to resize splits but the functionality has been implemented.
2016-11-16 12:36:48 -05:00
10sr
d70a2fe63d Add plugin function JobSpawn 2016-11-16 14:06:12 +09:00
Zachary Yedidia
89c468924e Fix rare out of bounds error with selections
Fixes #446
2016-11-11 20:12:21 -05:00
Zachary Yedidia
d0d167b663 Put linted classfiles in temp directory
Fixes #445
2016-11-09 17:30:25 -05:00
Zachary Yedidia
7c2baa6086 Add default ftoptions plugin to override settings
The ftoptions plugin will override values in settings.json based
on language requirements (e.g. using tabs in makefiles).
2016-11-08 09:34:12 -05:00
Zachary Yedidia
4c0b00bf2b Reset ModTime even if WriteFile fails
Ref #440
2016-11-03 10:55:44 -04:00
Zachary Yedidia
b4b0eda7d9 Merge pull request #433 from ilius/pr03.python_syntax
Fixes in Python 2.7 syntax, add Python 3.x syntax
2016-10-29 10:20:41 -04:00
Jon Craton
55add69fa0 Removed duplicate paste code for OS-level paste 2016-10-28 23:15:55 -04:00
Zachary Yedidia
199c295f1f Merge 2016-10-28 20:34:38 -04:00
Zachary Yedidia
ad0e098a25 Add ByteOffset and ToCharPos to plugin API 2016-10-28 20:34:28 -04:00
Jon Craton
9719e6caa7 Search entire file instead of line 1 to the number of lines in view 2016-10-28 19:42:17 -04:00
Saeed Rasooli
418720f6df add python3 syntax highlighting (detect from header) 2016-10-28 21:01:44 +03:30
Saeed Rasooli
80bd2694d6 fixes in python (2.7) syntax file, and rename to python2.micro
constants: sort by name, and __file__, remove __import__
functions: add next, help, __import__
separate types (like int and str) from builtin functions
separate and comment out methods/attrs of standard library (why hightlight?)
comment out NonSenseTypes like IntType, they are never used in code
magic methods: add __dict__
exec and map are functions, not keyword
remove trailing spaces
2016-10-28 21:01:43 +03:30
Saeed Rasooli
f6b7aaebbd Improvement: FindFileType: header regex should be prior to file extention 2016-10-28 21:01:43 +03:30
Zachary Yedidia
74610b8cd7 Fix problem with calculation Bottomline
Fixes #432
2016-10-26 12:29:23 -04:00
Zachary Yedidia
7492ab4de2 Add 'plugin available' command
Closes #413
2016-10-24 19:02:13 -04:00
Zachary Yedidia
63ccbc1ebd Add eofnewline option
Closes #429

Enable with '> set eofnewline on'
2016-10-23 18:37:29 -04:00
Zachary Yedidia
ee553b7830 Add reload command
Closes #427
2016-10-21 11:51:36 -04:00
Zachary Yedidia
49397039e0 Update runtime 2016-10-19 10:34:09 -04:00
Zachary Yedidia
1b9bb31dd6 Cleanup and add more comments 2016-10-18 11:12:28 -04:00
Zachary Yedidia
8db3b22411 Merge 2016-10-18 08:58:31 -04:00
Zachary Yedidia
4aae5ca451 Fix dockerfile syntax file
Fixes #421
2016-10-18 08:58:09 -04:00
Jon Craton
cc9342df9d Added OutdentLine action 2016-10-15 12:47:15 -04:00
Jon Craton
fe0dce0960 Added IndentString method on Buffer (#415)
* Added IndentString function to retrun the string used for indentation (n-spaces or a tab) based on buffer settings

* Combined redundant  statements

* Removed duplicate leading whitespace check

* Better IndentString description

* Fixed remainder logic that I broke
2016-10-15 10:09:20 -04:00
Jon Craton
78b0aac5ec DuplicateLine now duplicates the current selection if there is text selected 2016-10-14 22:22:48 -04:00
Jon Craton
690627a338 Refactored IndentSelection and OutdentSelection to remove duplicate code (#414)
* Refactored indent selection

* Refactored OutdentSelection

* Refactored to use x and y instead of line and j
2016-10-14 16:52:55 -04:00
Zachary Yedidia
4db7f33eaf More fixes to search and replace 2016-10-13 20:47:33 -04:00
Zachary Yedidia
d3c5e3ab47 Improvements for softwrap mouse support 2016-10-13 17:09:15 -04:00
Zachary Yedidia
b13c6c4892 Fix problem with regexes in search and replace
Fixes #410
2016-10-13 14:59:57 -04:00
Zachary Yedidia
c50dda244b Fix mouse support with soft wrap 2016-10-13 14:26:45 -04:00
Zachary Yedidia
3fdc2ca0da Always use the selection as search term when using quick search 2016-10-13 12:12:55 -04:00
Zachary Yedidia
6b7ca3c559 Merge pull request #409 from ilius/pr02.improve_search_escape
Improve Search behaviour, and Escape key behaviour
2016-10-13 12:10:11 -04:00
Zachary Yedidia
5c2a2b1b7e Fix problem with horizontal scrolling 2016-10-12 22:05:24 -04:00
Zachary Yedidia
69e45f9a4f Fix problem causing hsplits not to display 2016-10-12 22:03:16 -04:00
Saeed Rasooli
127ebc15b9 Improvement: improve Search behaviour, and Escape key behaviour 2016-10-13 00:49:43 +03:30
Zachary Yedidia
ea1de18326 Add docs 2016-10-12 16:34:34 -04:00
Zachary Yedidia
edd25c68ee Fix glitch with bottomline when softwrap is disabled 2016-10-12 16:30:32 -04:00
Zachary Yedidia
e30a4139e6 Add softwrap 2016-10-12 16:24:00 -04:00
Saeed Rasooli
546acfd21d Fixes in last PR: MoveLinesUp and MoveLinesDown (#408)
* Bugfix: fix panic in MoveLinesUp when moving up the *last* line

* Bugfix: don't panic in Buffer.Line if index is out or range

* clean MoveLinesDown since it won't work for the last line anyway, add comment

* Cleanup: replace spaces with tabs in MoveLinesUp and MoveLinesDown
2016-10-12 11:38:44 -04:00
Saeed Rasooli
0bf07eadcc Improvement: move MoveLinesUp and MoveLinesDown to Buffer
enables Undo/Redo with EventHandler, #407
2016-10-12 08:15:46 +03:30
Saeed Rasooli
c1dd403ab9 Feature: add MoveLinesUp (Alt + Up) and MoveLinesDown (Alt + Down) actions 2016-10-12 08:15:46 +03:30
Zachary Yedidia
d163637fa8 Update docs 2016-10-11 09:13:03 -04:00
Zachary Yedidia
905d4d7020 Make monokai the default colorscheme
Monokai is a better default colorscheme because it has a better 16
color approximation than zenburn. On 16 color terminals, it looks like
zenburn is not syntax highlighting anything.
2016-10-11 09:09:56 -04:00
Zachary Yedidia
f85dd77036 Merge 2016-10-10 21:44:48 -04:00
Zachary Yedidia
8f5f8ffdd6 Fix tabstop sizing with mix of tabs and spaces
Fixes #404
2016-10-10 21:44:16 -04:00
Zachary Yedidia
b09093f78c Merge 2016-10-10 18:40:48 -04:00
Zachary Yedidia
104699e500 Use default foreground for empty indent chars
Fixes #403
2016-10-10 18:40:21 -04:00
Zachary Yedidia
38bf8c0225 Temporary fix for plugin panic
Fixes #402
2016-10-07 20:34:03 -04:00
Zachary Yedidia
6acda994e4 Update docs and readme 2016-10-06 20:36:37 -04:00
Zachary Yedidia
e563211790 Make linter a default plugin once again 2016-10-06 20:28:10 -04:00
Zachary Yedidia
aa624d86e6 Move linter and go plugins to their own repos
The linter and go plugins are no longer 'default'. Their installation
should be handled by the plugin manager: `> plugin install go` and
`> plugin install linter`.

The autoclose plugin will remain a default plugin because it provides
a more essential feature.

Closes #397
2016-10-06 17:18:53 -04:00
Zachary Yedidia
c410b7b2ce Improve plugin manager error feedback 2016-10-06 13:39:57 -04:00
Zachary Yedidia
921b828afb Add some documentation about plugin manager 2016-10-05 18:26:41 -04:00
Zachary Yedidia
d3d35bd9ff Add more descriptive error messages for plugin installation failures
Ref #378
2016-10-05 18:00:05 -04:00
Zachary Yedidia
76a328a062 Use official plugin channel
Use the channel for official plugins from
https://github.com/micro-editor/plugin-channel

Ref #378
2016-10-05 17:57:03 -04:00
Zachary Yedidia
fb90e169cb Only allow one package per repository
This may be temporary.

Ref #378
2016-10-05 17:52:39 -04:00
Zachary Yedidia
a1a307d858 Merge pull request #378 from boombuler/pm
Plugin-Manager
2016-10-05 17:51:22 -04:00
Zachary Yedidia
3733e7e223 Add 'Unsplit' action and VSplit and HSplit actions
This commit adds the 'Unsplit' action used to close all splits except
the current one.

It also adds the 'VSplit' and 'HSplit' actions which open empty
vertical/horizontal splits so you can bind them to keys.

Closes #228
2016-10-04 11:08:32 -04:00
boombuler
3e8a587aa3 changed json5 repo 2016-10-02 07:57:39 +02:00
boombuler
8f2f1f8c1d skip core dependencies if micro was build with an unknown version. 2016-10-01 09:28:48 +02:00
boombuler
a940ce3036 allow user to set plugin channels / repos in settings.json 2016-10-01 08:37:04 +02:00
boombuler
d7da72a720 fix plugin zips which contain a root directory 2016-10-01 08:05:05 +02:00
boombuler
b54853140a new command plugin list
this command shows all currently installed plugins and their verion
2016-10-01 07:37:20 +02:00
boombuler
8ad2179423 Merge remote-tracking branch 'zyedidia/master' into pm 2016-10-01 07:20:21 +02:00
Zachary Yedidia
3037d72bcb Fix more tabnum issues
Fixes #395
2016-09-30 07:29:24 -04:00
Zachary Yedidia
7d16e97b95 Switch to my fork of json5
This should reduce go get download times for micro considerably
because the original json5 committed a bunch of binaries which
cause the repository to be very large and slow to download.

My fork fixes that.
2016-09-29 18:43:10 -04:00
Zachary Yedidia
0293b774f3 Fix SplitTree tab index
Fixes #392
2016-09-29 14:23:25 -04:00
Zachary Yedidia
32cd94b88f Minor optimization to tabsize fix 2016-09-28 18:08:06 -04:00
Zachary Yedidia
5e5dd78b7c Merge pull request #387 from boombuler/bug379
fixes #379 (second try)
2016-09-28 18:06:18 -04:00
Joe Tsai
7c3425a012 fix offset calculation for column ruler
The calculation for the column ruler index should:
* include the offset for the line numbers gutter
* not include the leftmost column since ruler should scroll with the pane

Fixes #379
2016-09-28 13:40:48 -07:00
boombuler
bc724bf781 fixes #379 (second try) 2016-09-28 21:54:34 +02:00
Zachary Yedidia
97bdb15bd6 Revert "fixes #379" 2016-09-28 14:07:17 -04:00
Zachary Yedidia
fb69ecdc9b Add 'autosave' option
Closes #278
2016-09-28 13:07:05 -04:00
boombuler
1fe1c3eabb improved plugin search 2016-09-28 18:31:05 +02:00
Zachary Yedidia
191fd5e495 Merge pull request #382 from boombuler/bug379
fixes #379
2016-09-28 12:30:01 -04:00
boombuler
8aa017bfda autocomplete plugin commands 2016-09-28 18:15:39 +02:00
boombuler
9ea947c808 improved logging 2016-09-28 18:00:12 +02:00
boombuler
2a7a55eca4 better plugin search 2016-09-28 17:55:44 +02:00
boombuler
759c00098b Merge remote-tracking branch 'zyedidia/master' into pm 2016-09-28 17:36:37 +02:00
Florian Sundermann
cce36624dc PM should not install already installed plugins. 2016-09-28 16:34:28 +02:00
Zachary Yedidia
4664850186 Merge pull request #384 from boombuler/logview
don't use undo / redo history for log buffer.
2016-09-28 10:24:30 -04:00
Florian Sundermann
d9c666f6df don't use undo / redo history for log buffer. 2016-09-28 15:47:31 +02:00
Florian Sundermann
d7e38a52ea fixes #379
when tabstospaces is off tabs were always treated as
as a number of spaces not as tabs with tabstops.
2016-09-28 08:12:19 +02:00
boombuler
f3f4790103 simple plugin search 2016-09-27 21:25:57 +02:00
boombuler
83c1136ac5 Merge remote-tracking branch 'zyedidia/master' into pm 2016-09-27 20:57:49 +02:00
Zachary Yedidia
0ae5ae5d9a HSplit log, and update docs 2016-09-27 14:29:55 -04:00
Zachary Yedidia
c070e3e8f7 Merge pull request #381 from boombuler/logview
Log View
2016-09-27 14:28:06 -04:00
Zachary Yedidia
0de167b07b Add new plugin runtime function 2016-09-27 14:24:52 -04:00
boombuler
f904e2fe99 always scroll log to the cursor befor drawing and don't ask for save changes for help and log views 2016-09-27 17:52:40 +02:00
boombuler
b195ebad46 AddLog should be "public" accessible 2016-09-27 17:52:05 +02:00
Florian Sundermann
23ef69b935 change pluginmanager json to json5 2016-09-27 13:28:32 +02:00
Florian Sundermann
55c790f069 more tolerant version parsing 2016-09-27 13:26:11 +02:00
boombuler
50c7441533 also add TermMessage output to log 2016-09-26 19:28:42 +02:00
boombuler
c1a3ee1706 possibility to show a log view 2016-09-26 19:08:37 +02:00
boombuler
357fc09e69 Merge remote-tracking branch 'zyedidia/master' into pm 2016-09-26 18:24:43 +02:00
Zachary Yedidia
c1d08a6dc0 Fix typo 2016-09-26 12:08:35 -04:00
boombuler
f689143670 fixed tests 2016-09-26 17:51:50 +02:00
boombuler
56b3b79c50 removed testing code 2016-09-26 17:37:53 +02:00
Florian Sundermann
f351c251e4 first few pm commands 2016-09-26 16:53:39 +02:00
Zachary Yedidia
5cc66cef42 Fix problems recognizing CtrlH
Fixes #368

The 'Backspace2' key has been renamed to 'Backspace'.
2016-09-26 09:34:55 -04:00
Florian Sundermann
6791759440 Merge remote-tracking branch 'zyedidia/master' into pm 2016-09-26 12:49:57 +02:00
Zachary Yedidia
292df7a9f7 Add mouse support and binding support to prompts
Closes #244
2016-09-24 15:26:19 -04:00
Zachary Yedidia
64fd96611c Check buffer filetype after loading plugins 2016-09-24 14:30:35 -04:00
Zachary Yedidia
de4a007bdf Merge pull request #371 from boombuler/plugins
Handle Plugins via RT-Files
2016-09-24 14:09:02 -04:00
boombuler
567faeb07e initial commit of pluginmanager 2016-09-23 10:03:42 +02:00
Florian Sundermann
8172ebf62b fixed loading order
plugins were not able to provide colorschemes
2016-09-19 16:04:59 +02:00
Florian Sundermann
1720d4023f load plugins as rt-files 2016-09-19 14:40:56 +02:00
Florian Sundermann
da6ab78384 fixed build 2016-09-19 13:28:14 +02:00
Florian Sundermann
6fe20fb305 some additions to the plugin API
Those changes were originally used for the snippet plugin which
may not be part of the core.
2016-09-19 13:23:47 +02:00
Zachary Yedidia
d41f0bb324 Merge 2016-09-18 09:30:28 -04:00
Zachary Yedidia
8e555e60f7 Inherit background color from default
Fixes #366
2016-09-18 09:29:58 -04:00
Zachary Yedidia
243f99aeb1 Add function to load runtime files from a directory for a plugin 2016-09-16 16:15:44 -04:00
Zachary Yedidia
ab36db7646 Update yaml header 2016-09-16 15:22:38 -04:00
Zachary Yedidia
2e3c87b67d Add quick start guide to help.md 2016-09-16 12:14:08 -04:00
Zachary Yedidia
a549d12808 Merge pull request #334 from techtonik/filemanagers
Usability integration with file managers
2016-09-16 12:09:17 -04:00
Zachary Yedidia
149fea8b76 Allow plugins to add their own runtime files 2016-09-16 11:02:10 -04:00
Florian Sundermann
9eeb14956c allow plugins to list / read runtime files
also renamed most of the new functions to be
more specific about what kind of files this is for.
2016-09-15 16:42:45 +02:00
Florian Sundermann
796638d095 simplified file handling for runtime files 2016-09-15 15:50:26 +02:00
Zachary Yedidia
79621505f1 Merge pull request #359 from boombuler/params
Params
2016-09-14 17:14:01 -04:00
Zachary Yedidia
e484445b1e Merge pull request #354 from boombuler/help
Help
2016-09-14 17:13:46 -04:00
Richard Burke
bdc857952a Added ability to validate options values when being set 2016-09-14 20:06:48 +01:00
Zachary Yedidia
2bcc59faea Fix pyflakes linter pattern
Fixes #358
2016-09-14 12:54:31 -04:00
Florian Sundermann
6cc12b871c include trailing path delimiter
"C:" is not valid on windows but "C:\" is.
"foo" is as valid as "foo/" on other OS...
2016-09-14 16:28:25 +02:00
Florian Sundermann
d201e7c503 fixed directory completion on windows 2016-09-14 16:15:49 +02:00
Zachary Yedidia
c695df0adf Merge pull request #356 from boombuler/bug355
fixed bug 355
2016-09-14 07:29:44 -04:00
boombuler
7d395a29a7 don't clone unsaved file buffers.
if I open multiple empty tabs, I don't want the same "new file buffers"
2016-09-14 09:37:12 +02:00
boombuler
4046bb977e fixed bug 355 2016-09-14 09:24:38 +02:00
boombuler
d250b9d7b0 allow plugins to have a help file 2016-09-13 09:06:06 +02:00
boombuler
a7f159bddc Load help files when needed 2016-09-13 08:53:20 +02:00
Zachary Yedidia
d0fa467a3c Revert "Improve performance for very long lines"
This reverts commit d5694c0f35.

Fixes #351
See #348
2016-09-11 16:05:15 -04:00
Zachary Yedidia
0bc80adc28 Fix strange selection for long lines
See #351
2016-09-11 15:00:44 -04:00
Zachary Yedidia
b5160c5d2c Optimize search and replace a lot 2016-09-10 11:32:54 -04:00
Zachary Yedidia
210a538cdd Improve performance for xml and html files 2016-09-10 10:32:21 -04:00
Zachary Yedidia
fd786b3020 Allow a buffer to be opened simultaneously 2016-09-10 10:30:15 -04:00
Zachary Yedidia
d5694c0f35 Improve performance for very long lines 2016-09-10 10:03:51 -04:00
Zachary Yedidia
922baa930d Add eval command 2016-09-09 15:54:32 -04:00
Zachary Yedidia
faafda6b21 Remove pkgbuild from pre installed syntax files 2016-09-09 14:48:18 -04:00
Zachary Yedidia
9efc4fb5e9 Remove duplicate PKGBUILD filetype 2016-09-09 12:41:56 -04:00
Zachary Yedidia
37d83a280f Merge 2016-09-09 12:32:05 -04:00
Zachary Yedidia
8c0544c264 Use shell.micro for PKGBUILD files
Fixes #345
2016-09-09 12:31:44 -04:00
Zachary Yedidia
0c00e8da0e Merge pull request #341 from boombuler/bug297
fixes #297
2016-09-08 17:31:45 -04:00
Zachary Yedidia
af47cce86b Resize tabs more often
Fixes #343
2016-09-08 17:30:41 -04:00
Zachary Yedidia
301e86a46e Add SaveAs action and command
Fixes #340

You can bind the action `SaveAs` and if you provide an argument to
the `save` command it will save as. For example `> save test.txt`.
2016-09-08 14:13:46 -04:00
Florian Sundermann
0b1afe7f6c fixes #297
use a buffered channel to queue events.
otherwise those events might get lost.
2016-09-08 13:47:13 +02:00
Matthew Brener
4f4e87a82c its --> it's in actions.go comment 2016-09-08 16:14:04 +10:00
Zachary Yedidia
8f06e51170 Add colorcolumn option
Fixes #333

For example: `> set colorcolumn 80`.
2016-09-07 17:17:51 -04:00
anatoly techtonik
a853164302 Usability integration with file managers 2016-09-08 00:11:51 +03:00
Zachary Yedidia
cc73efc0bd Merge branch 'master' of https://github.com/to-miz/micro into to-miz-master 2016-09-07 16:57:42 -04:00
Niklas Hennigs
956b1bdb3a Missed the test for the last commit, now fixed 2016-09-07 17:52:16 +02:00
Niklas Hennigs
cd52aaba13 This fixes zyedidia/micro#329
Now all multi-byte characters are considered a wordchar
2016-09-07 17:29:38 +02:00
Zachary Yedidia
cc6189b7ce Check colorschemes from ~/.config/micro/colorschemes
Fixes #331
2016-09-07 07:25:42 -04:00
Zachary Yedidia
e643860e3d Add Open command for view 2016-09-06 19:58:34 -04:00
Zachary Yedidia
0373589ab8 Merge 2016-09-06 19:30:28 -04:00
Zachary Yedidia
dce56a2b85 Have HandleShellCommand return the stdout
HandleShellCommand will now return the stdout as a string and
it also takes an additional flag indicating whether it should
wait before closing the shell and returning to the editor.
2016-09-06 19:27:57 -04:00
anatoly techtonik
1f457f9d9e Fix CanClose comment after API change
Follow up to 966dac97f8
2016-09-06 22:51:13 +03:00
Zachary Yedidia
131524e670 Merge branch 'params' of https://github.com/boombuler/micro into boombuler-params 2016-09-06 10:59:30 -04:00
Zachary Yedidia
539495d2f7 Add support for macros
Closes #270

CtrlU to toggle recording and CtrlJ to playback.
You can also rebind using the "ToggleMacro" and "PlayMacro"
actions.

Note that recursive macros are not yet supported.
2016-09-06 10:44:15 -04:00
Zachary Yedidia
966dac97f8 Make unsaved changes prompt more clear
Fixes #301
2016-09-06 10:06:36 -04:00
Leo Arias
02b6eaaff0 Update runtime
closes #317
2016-09-05 18:31:36 +00:00
boombuler
a952e249b4 added pascal syntax 2016-09-05 17:53:49 +02:00
Zachary Yedidia
0a534767f0 Merge branch 'primary-clipboard' 2016-09-05 11:37:49 -04:00
Zachary Yedidia
b1cb583e8c Update runtime 2016-09-05 10:30:08 -04:00
Zachary Yedidia
ea4d822923 Merge pull request #283 from boombuler/autocompleteplugin
Autocomplete for plugins
2016-09-05 10:29:51 -04:00
to-miz
725533d991 fixed inserting runes that require ctrl+alt
we check wheter an input is a binding first, only if it is not a binding
do we insert the rune regardless of modifiers
2016-09-05 16:03:05 +02:00
Zachary Yedidia
2041e12eba Fix some issues with mouse selection copying 2016-09-05 08:36:30 -04:00
Zachary Yedidia
5d00522d4e Deselect for CursorStart
Fixes #308
2016-09-05 08:25:49 -04:00
Zachary Yedidia
c71e816e37 Fix recursive function 2016-09-04 21:28:40 -04:00
Zachary Yedidia
6721ec8e7d Copy to primary clipboard for any change in selection 2016-09-04 21:19:14 -04:00
Zachary Yedidia
cf3ce29a08 Fix YesNoPrompt bug 2016-09-04 18:27:11 -04:00
Zachary Yedidia
a8feef3c12 Minor cleanup
See #300
2016-09-04 12:57:09 -04:00
Zachary Yedidia
de9707f088 Merge 2016-09-04 12:51:00 -04:00
Zachary Yedidia
9ff396c69f Don't allow setting invalid colorschemes
Fixes #303
2016-09-04 12:50:13 -04:00
Zachary Yedidia
b3f6731db5 Update runtime 2016-09-04 11:36:25 -04:00
Zachary Yedidia
54a34001e3 Fix cursor problem in LetterPrompt
Fixes #300
2016-09-04 11:19:53 -04:00
James Tancock
187ea0da1c
Correct the number of spaces to add when a tab is inserted at an offset cursor.
Fixes #268
2016-09-04 15:50:39 +01:00
Zachary Yedidia
5b7fa01825 Add newline to end of settings.json
Fixes #296
2016-09-04 10:10:57 -04:00
Zachary Yedidia
c38044106c Merge pull request #298 from boombuler/bug269
exit conditional replace if no match is left
2016-09-04 09:44:05 -04:00
boombuler
fce5b81c22 exit conditional replace if no match is left 2016-09-04 09:29:26 +02:00
Zachary Yedidia
a4ac9f2b7b Merge pull request #286 from boombuler/bug269
fixes conditional replace
2016-09-03 13:45:43 -04:00
Zachary Yedidia
abedeebc0a Merge pull request #282 from boombuler/windows
File autocomplete should now work on windows
2016-09-03 13:45:19 -04:00
Zachary Yedidia
b905400892 Add default bindings for CtrlHome and CtrlEnd
Fixes #280
2016-09-03 13:37:16 -04:00
Zachary Yedidia
c4d6f5e584 Fix various infobar bugs
Fixes #294
Fixes #295
2016-09-03 13:28:48 -04:00
Zachary Yedidia
76f80bf694 Merge pull request #293 from devoncarew/add_dart
add dart syntax highlighting
2016-09-03 12:53:39 -04:00
Devon Carew
a7b72f0e0e add dart syntax highlighting 2016-09-03 09:16:52 -07:00
Zachary Yedidia
af22e0a567 Allow overwriting options with flags
Fixes #258

Also related to #233, this commit also changes how +LINE,COL works. Now it is
micro -startpos LINE,COL file.
2016-09-03 11:26:01 -04:00
boombuler
98b6f63b70 fixes conditional replace
before this, conditional replace always replaces the first found
occurence of the match not the currenly selected.
Might also fix #269
2016-09-03 12:34:57 +02:00
boombuler
403a99d2ea removed obsolete replace command preparations 2016-09-03 12:13:25 +02:00
boombuler
b2735d7b5b use build-in functions to quote / unquote 2016-09-03 12:02:49 +02:00
boombuler
699ad316e5 removed old code 2016-09-03 08:18:47 +02:00
boombuler
8617ae5c1f keep trailing space at commandline 2016-09-03 08:16:18 +02:00
boombuler
881f57b047 allow plugins to register autocomplete functions 2016-09-02 19:42:33 +02:00
Zachary Yedidia
b45fcf5bd7 Use json5 for config files 2016-09-02 11:12:16 -04:00
Zachary Yedidia
89c34ed8b3 Copy to primary clipboard on mouse selection 2016-09-02 10:44:32 -04:00
Zachary Yedidia
d9b8a04841 Add support for primary clipboard 2016-09-02 09:40:08 -04:00
Florian Sundermann
ccfe08bc60 allow command parameters to be quoted
this way FileCompletions could contain space runes without
breaking the parameter.
2016-09-02 13:44:22 +02:00
Florian Sundermann
2e3ee22aca File autocomplete should now work on windows 2016-09-02 08:49:54 +02:00
Zachary Yedidia
226cf399ba Merge pull request #271 from teryanik/master
Improvement highlight php syntax
2016-09-01 20:23:53 -04:00
cotne nazarashvili
d2254df062 improve json.micro 2016-09-02 03:59:36 +04:00
teryanik
3e83d29fb4 improvement highlight php syntax 2016-09-01 22:24:31 +03:00
Zachary Yedidia
fc2d9bb461 Merge pull request #233 from schollz/master
Flag to start at specified line/column number (#224)
2016-08-31 16:39:30 -04:00
Zachary Yedidia
5458605618 Add "bubblegum" light colorscheme
Closes #255
2016-08-31 14:21:46 -04:00
Zachary Yedidia
031ed64305 Add colorscheme support for gentoo-ebuild
See #229
2016-08-31 12:12:23 -04:00
Zachary Yedidia
1be332a0f9 Merge 2016-08-31 12:00:28 -04:00
Zachary Yedidia
b9d4dbd5e0 Add colorscheme support for yaml
See #229
2016-08-31 11:59:43 -04:00
Zachary Yedidia
2e264b342a Fix prompts not displaying because of infobar 2016-08-31 11:52:59 -04:00
Zachary Yedidia
4972db4bf6 Merge 2016-08-31 11:16:58 -04:00
Zachary Yedidia
b70db77c29 Add infobar option to disable the message line
Fixes #257
2016-08-31 11:16:22 -04:00
Zachary Yedidia
f8612d1572 Merge pull request #259 from handicraftsman/master
ASM & Micro fix
2016-08-31 10:53:14 -04:00
Nickolay
f9d0c563e4 Fixed Micro & ASM syntax files 2016-08-31 17:50:09 +03:00
Zachary Yedidia
3105205ab8 Use text from the paste event, not the clipboard
Closes #93
2016-08-31 10:47:31 -04:00
Zack Scholl
62ac9f79f2 Switched to +LINE,COL
Previously the flag was parsed for `-cursor LINE,COL`

However, emacs and nano both us `+LINE,COL` and this also makes
it easier to ignore the `+` as a filename.
2016-08-31 10:10:54 -04:00
Zachary Yedidia
a6d695f471 Merge 2016-08-31 08:51:44 -04:00
Zachary Yedidia
59d2fa81dd Unselect for cursor movement actions
Fixes #250
2016-08-31 08:51:24 -04:00
Nickolay
c59b1ea387 Added .micro syntax theme 2016-08-31 15:19:45 +03:00
Zachary Yedidia
c661c65c8c Update help to give quick instructions on quitting and saving 2016-08-30 21:29:41 -04:00
Zachary Yedidia
13da5ced15 Fix problem with linter.onSave calling view.Save
Fixes #246
2016-08-30 19:38:45 -04:00
Zachary Yedidia
b970b393f2 Add caddyfile to runtime 2016-08-30 19:32:26 -04:00
Zachary Yedidia
b6f5db3692 Add QuitAll action to close all splits and tabs at once
See #239
2016-08-30 17:38:46 -04:00
Zachary Yedidia
8bdaacaa5e Switch splits on mouse *click* not drag
Fixes #240
2016-08-30 17:29:49 -04:00
Zachary Yedidia
c9ead25b1e Merge 2016-08-30 17:26:05 -04:00
Zachary Yedidia
ddff950fcd Check for filetype after saving an untitled buffer
Fixes #242
2016-08-30 17:25:30 -04:00
Nickolay
6e63472930 Whooops! 2016-08-31 00:08:37 +03:00
Nickolay
94397a90bd Fully finished ASM syntax highlightig 2016-08-31 00:03:22 +03:00
Nickolay
9854fc712f Added x87 instructions 2016-08-30 22:13:46 +03:00
Nickolay
99635d9491 Added x86 cpu support for assembly. 2016-08-30 21:51:30 +03:00
Zachary Yedidia
93361fe72d Fix issue with settings.json 2016-08-30 11:32:23 -04:00
Zack Scholl
4499228cdb Added flag to introduce cursor starting positions 2016-08-30 11:28:28 -04:00
Zachary Yedidia
ec9eab8a3e Auto update settings.json if it contains 'null' 2016-08-30 11:19:51 -04:00
Zachary Yedidia
791a397d55 Fix problem with first-time creation of the settings file
Fixes #219
2016-08-30 09:45:05 -04:00
Zachary Yedidia
5df28c76e8 Add tutorial.md to help files
Fixes #218
2016-08-29 21:26:53 -04:00
Zachary Yedidia
19c7860f14 Update readme 2016-08-29 10:21:34 -04:00
Zachary Yedidia
fccec47ae5 Have CanClose use single letters for responses
Closes #184
2016-08-29 10:10:16 -04:00
Zachary Yedidia
eda08a994a Make cursorline on by default 2016-08-29 09:20:48 -04:00
Zachary Yedidia
f8071af717 Fix bug with view.Center
Fixes #215
2016-08-29 09:16:24 -04:00
Zachary Yedidia
6ce8fe3ce1 Open an empty buffer if user opened a directory
Fixes #216
2016-08-29 09:01:54 -04:00
Zachary Yedidia
00e385b871 Add show command to show the value of an option 2016-08-28 21:48:03 -04:00
Zachary Yedidia
59b7555f01 Fix various small details and update readme 2016-08-28 16:28:28 -04:00
Zachary Yedidia
8cef0abf6a Fix import error in tests 2016-08-28 13:45:38 -04:00
Zachary Yedidia
56224c9184 Minor update to zenburn line number colors 2016-08-28 13:13:01 -04:00
Zachary Yedidia
40523871fa Update runtime 2016-08-28 13:09:37 -04:00
Zachary Yedidia
90e0a2ec1a Rename 'default' colorscheme to 'simple'
This commit also adds an additional name for zenburn as 'default'
so you can refer to zenburn as 'default' or as 'zenburn'
2016-08-28 13:07:47 -04:00
Zachary Yedidia
aa9dbdde3e Improve tab completion in command mode
Pressing tab when all suggestions start with the same substring
will insert that substring (this is how bash autocompletion works).
2016-08-28 13:05:07 -04:00
Zachary Yedidia
da7bc997ff Update docs and makefile 2016-08-27 22:00:56 -04:00
Zachary Yedidia
1260dcc5ee Add some more information to -version flag 2016-08-27 20:03:43 -04:00
Zachary Yedidia
2de42bcf99 Make zenburn the default colorscheme
This commit also adds better support for constant.number in the
syntax files.
2016-08-27 17:10:26 -04:00
Zachary Yedidia
e0074c881c Minor update to zenburn 2016-08-27 16:13:28 -04:00
Zachary Yedidia
1a5e90c8a2 Add zenburn colorscheme
Closes #214
2016-08-27 16:09:30 -04:00
Zachary Yedidia
19bb9c7d50 Add tutorial help file 2016-08-26 14:38:20 -04:00
Zachary Yedidia
b4e470b6e2 Add support for making buffer local options in settings.json 2016-08-25 20:15:58 -04:00
Zachary Yedidia
e634b4e180 Fix bug with init.lua 2016-08-25 17:29:58 -04:00
Zachary Yedidia
acc03e9707 Update docs and add some comments 2016-08-25 17:24:13 -04:00
Zachary Yedidia
d6da2dfeca Pass the view into plugin callbacks 2016-08-25 16:35:03 -04:00
Zachary Yedidia
ec0833b09c Update plugins for local settings 2016-08-25 16:01:42 -04:00
Zachary Yedidia
1a9123630b Add support for local or global only settings 2016-08-25 15:48:02 -04:00
Zachary Yedidia
348922e1f2 Add filetype as an option
Still in progress
2016-08-25 15:48:02 -04:00
Zachary Yedidia
8803d93872 Make all filetype names lowercase
This may be a breaking change if you are using a plugin that
checks the filetype. All the default plugins are now updated,
just make the filetype you were checking for previously all
lowercase.
2016-08-25 15:48:02 -04:00
Zachary Yedidia
261748bd56 Add local settings for each buffer 2016-08-25 15:47:26 -04:00
Zachary Yedidia
60b84c7aba Minor fixes and update runtime 2016-08-25 15:47:16 -04:00
Zachary Yedidia
0711c29c0a Add onBufferOpen plugin callback 2016-08-24 17:03:02 -07:00
Zachary Yedidia
dbdfef632e Add center action to center the view on the cursor 2016-08-24 15:48:11 -07:00
Zachary Yedidia
b818011715 Relocate on startup 2016-08-24 14:44:29 -07:00
Zachary Yedidia
d6a7f6291a Plugin onAction return value should determine relocate 2016-08-24 10:02:06 -07:00
Zachary Yedidia
24076e7dff Auto indent on paste
Fixes #204
2016-08-23 14:48:28 -07:00
Zachary Yedidia
78e2445e43 Don't pad suggestions 2016-08-22 11:45:50 -07:00
Zachary Yedidia
bfbba972d8 Fix gutter message overwriting a prompt 2016-08-22 10:13:14 -07:00
Zachary Yedidia
760d709c34 Remove auto indented spaces if the line is empty 2016-08-22 10:04:23 -07:00
Zachary Yedidia
c340e6d48d Add gruvbox colorscheme 2016-08-21 14:40:39 -07:00
Zachary Yedidia
ca4be706ac Small fix to redraw location 2016-08-21 11:31:26 -07:00
Zachary Yedidia
8f51fe84ae Update readme 2016-08-20 13:02:19 -07:00
Zachary Yedidia
e3c2335c14 Slight additional improvement to word movement 2016-08-20 12:31:52 -07:00
Zachary Yedidia
198b1b8e79 Improve cursor word movement
The definition of a "word" is a bit more subtle now. Before it would
just move the cursor until a whitespace was found. Now it will stop
at non word characters as well.
2016-08-20 12:26:54 -07:00
Zachary Yedidia
9db4e640a0 Add pasting in command mode 2016-08-20 10:35:57 -07:00
Zachary Yedidia
f9e8a2426b Add support for init.lua file in ~/.config/micro 2016-08-20 10:22:28 -07:00
Zachary Yedidia
f9cb99b35f Go plugin should disable tabstospaces if the file is go 2016-08-19 18:47:37 -07:00
Zachary Yedidia
d409c3a031 Fix minor issue with autoclose 2016-08-19 15:24:42 -07:00
Zachary Yedidia
62c359e5c1 Improve autoclose plugin auto tabbing 2016-08-19 15:14:34 -07:00
Zachary Yedidia
39645d4bfd Move cursor with search selection
Fixes #212
2016-08-18 19:09:48 -07:00
Zachary Yedidia
eb27d65d24 Update runtime 2016-08-18 11:38:19 -07:00
Zachary Yedidia
f790e16883 Fix minor autoindent bug 2016-08-18 11:31:09 -07:00
Zachary Yedidia
8d230d2038 Fix some issues with unicode handling
There were unicode issues with prompts, search, and syntax highlighting,
which are now fixed.
2016-08-18 08:14:33 -07:00
Zachary Yedidia
e4b6a931de Make setting options global 2016-08-17 20:00:38 -07:00
Zachary Yedidia
7474fdc499 Fix statusline suggestion style 2016-08-17 15:22:22 -04:00
Zachary Yedidia
fd68dbd852 Add visual indicator for autocomplete suggestions 2016-08-17 14:37:30 -04:00
Zachary Yedidia
d17cc0f628 Add boolean option to actions to disable the lua callback 2016-08-17 14:16:27 -04:00
Zachary Yedidia
8a58506c72 Add much better autocompletion for commands 2016-08-17 13:49:37 -04:00
Zachary Yedidia
932370f597 Add current-line-number colors to all colorschemes 2016-08-17 12:49:11 -04:00
Zachary Yedidia
70c3d42f9c Update runtime.go 2016-08-17 11:59:38 -04:00
Zachary Yedidia
6777419dc4 Don't open a new split if help is already open 2016-08-17 11:59:37 -04:00
Zachary Yedidia
4a0c48587a Split help into multiple files and add help command 2016-08-17 11:59:37 -04:00
Zachary Yedidia
cb79e08f19 Minor fix to current line num style 2016-08-17 11:59:29 -04:00
Zachary Yedidia
1e26aaed3c Merge pull request #209 from onodera-punpun/coloredline
Add colored current line number option
2016-08-16 22:03:07 -04:00
Zachary Yedidia
563484ffc9 Clean up go plugin 2016-08-16 13:52:42 -04:00
Zachary Yedidia
b42aba05a0 Fix recursive issue with go plugin 2016-08-16 13:46:33 -04:00
Zachary Yedidia
ed31d37e74 Change plugin callbacks to not only happen when a keybinding triggers the action 2016-08-16 11:43:36 -04:00
Zachary Yedidia
de9567322b Rebind Home and End to StartOfLine and EndOfLine
This commit changes the default keybindings for Home and End. It
also changes the InsertEnter action to InsertNewline (a better name)
although InsertEnter is still valid for backwards compatibility.

Closes #206
2016-08-16 10:55:04 -04:00
Camille Scholtz
e38e1c9dff Add colored current line number option 2016-08-15 22:35:40 +02:00
Zachary Yedidia
899b6a4a24 User plugins should replace default plugins
Fixes #208
2016-08-14 15:29:02 -04:00
Zachary Yedidia
632e4312d5 Syntax highlighting optimization 2016-08-13 21:28:52 -04:00
Zachary Yedidia
28897c01ea Add HandleCommand and HandleShellCommand to plugin api 2016-08-13 11:44:30 -04:00
Zachary Yedidia
1b9ae5706e Minor update 2016-08-11 17:35:40 -04:00
Zachary Yedidia
096a403d52 Set parents correctly on split nodes 2016-08-11 16:59:06 -04:00
Zachary Yedidia
7c13dee33d Small fix to splits 2016-08-11 16:52:50 -04:00
Zachary Yedidia
61536326ca Fix statusline and tabbar offsets 2016-08-11 13:50:59 -04:00
Zachary Yedidia
bd55c5f834 Add ability to delete splits 2016-08-11 11:27:32 -04:00
Zachary Yedidia
cbbe312762 Add split_tree and ability to create splits 2016-08-11 10:45:35 -04:00
Zachary Yedidia
2cbd9428aa Remove current implementation of splits 2016-08-10 15:28:23 -04:00
Zachary Yedidia
5a005e36b6 Small fix to OutdentSelection 2016-08-08 13:11:34 -05:00
Zachary Yedidia
c409f1cc07 Bind OutdentSelection to ShiftTab (Backtab)
I was under the impression that tcell couldn't detect shift tab
key presses, but this was incorrect. It turns out that tcell just
calls it backtab. This commit makes backtab the default binding
for OutdentSelection.

See #203
2016-08-07 21:41:12 -04:00
Zachary Yedidia
586a66b3a4 Bindings for IndentSelection and OutdentSelection
Tab is now bound to both IndentSelection and InsertTab.

There is currently no binding for OutdentSelection (the user can
bind that to their liking). Hopefully in the future it can be bound
to shift-tab but tcell does currently support that.

Closes #203
2016-08-07 19:45:35 -04:00
Zachary Yedidia
5da6b31b9c Pressing tab on a selection indents the selection
See #203
2016-08-02 18:30:36 -04:00
Zachary Yedidia
204a763dff Remove backspace prompt cancelation
Fixes #202
2016-08-02 09:45:41 -04:00
Zachary Yedidia
5444ad50c4 Add gololang to pre installed syntax files 2016-07-30 16:01:46 -04:00
Zachary Yedidia
76a9697a80 Use file completion for command mode 2016-07-24 16:38:37 -04:00
Zachary Yedidia
431eb12c96 Add tab command to open a file in a new tab 2016-07-24 16:29:03 -04:00
Zachary Yedidia
ddcebe4946 Fix issue with autoclose plugin 2016-07-24 16:19:41 -04:00
Zachary Yedidia
ba33802525 Use my fork of clipboard 2016-07-24 10:51:08 -04:00
Zachary Yedidia
cfd97b21ad Fix small horizontal scrolling glitch 2016-07-23 11:58:28 -04:00
Zachary Yedidia
c7b84a7eaa Rehighlight a split as soon as it is opened
I think this might fix the problem in #198, but I can't seemd to
reproduce it.
2016-07-19 20:15:23 -04:00
Zachary Yedidia
e890c878f3 Add separator characters between splits
Fixes #196
2016-07-15 17:38:42 -04:00
Zachary Yedidia
eba501e095 Highlight plist as XML
See #197
2016-07-15 17:29:36 -04:00
Zachary Yedidia
47940d3ffd Recompile runtime.go
Fixes #195
2016-07-14 15:39:15 -04:00
Zachary Yedidia
92c28d81b9 Add preAction plugin callbacks which can return false to cancel the action 2016-07-14 13:53:38 -04:00
Zachary Yedidia
1c077247f6 Merge 2016-07-14 13:01:10 -04:00
Zachary Yedidia
02f78edaf9 Open help in a separate split 2016-07-14 13:01:02 -04:00
Timon Böhler
ce5a867286 Changed Python syntax file to use Go's regex for matching string literals (which also works for empty strings) 2016-07-13 21:03:16 +02:00
Zachary Yedidia
abd36649c9 Update runtime and syntax file listing 2016-07-12 09:12:07 -04:00
Zachary Yedidia
7ae0310863 Fix draw ordering 2016-07-11 19:10:29 -04:00
Zachary Yedidia
a15c6ede81 Rewrite view display function 2016-07-11 15:35:50 -04:00
Zachary Yedidia
f2ec82520a Separate bindings and actions into two files 2016-07-10 13:30:28 -04:00
Zachary Yedidia
50e22dafc4 Add some lines back 2016-07-10 13:27:28 -04:00
Zachary Yedidia
8c0983a36c Add some more comments 2016-07-10 13:26:24 -04:00
Zachary Yedidia
6489f4b6e8 Merge pull request #185 from zyedidia/splits
Splits
2016-07-09 11:41:53 -04:00
Zachary Yedidia
271b127f79 Fix small glitch with splits 2016-07-09 11:29:22 -04:00
Zachary Yedidia
f01dc89171 Fix extra line being added with odd heights 2016-07-05 18:46:50 -04:00
Zachary Yedidia
3d3b76a31c Change default colorscheme to monokai
The monokai-tc colorscheme has been renamed to plain monokai and has
been made the default colorscheme. It is still a true color colorscheme,
but the automatic 256 color approximation is very good so it can be used
just fine in terminals which do not support true color.

If your terminal only supports 16 colors, used the 'default'
colorscheme.
2016-07-05 18:34:51 -04:00
Zachary Yedidia
3089967546 Add binding to move to next split (default binding: CtrlW) 2016-07-02 17:41:23 -04:00
Zachary Yedidia
4a15a1d3c8 Add the ability to close splits and change splits using the mouse
This commits adds split navigation with the mouse and the ability to
close splits. You can now also open a file directly with the hsplit
and vsplit commands.
2016-07-02 17:41:23 -04:00
Zachary Yedidia
d2b11c2f98 Fix tabbar offset with splits 2016-07-02 17:41:23 -04:00
Zachary Yedidia
d419e65a03 Make sure splits can't draw in other splits 2016-07-02 17:41:23 -04:00
Zachary Yedidia
bcbef1c633 Add horizontal splits 2016-07-02 17:41:23 -04:00
Zachary Yedidia
7e0286b621 Fix redrawing for splits 2016-07-02 17:41:23 -04:00
Zachary Yedidia
9b9ae89e59 Quick first try at vertical splits 2016-07-02 17:41:23 -04:00
Zachary Yedidia
cb238db307 Merge pull request #189 from onodera-punpun/sudosave
bindings:go: Only display saved message if actually saved
2016-06-30 11:08:12 -04:00
Camille Scholtz
151df0d2aa bindings:go: Only display saved message if actually saved 2016-06-30 16:49:32 +02:00
Zachary Yedidia
2002cb6579 Wrap around when using NextTab and PreviousTab
Fixes #188
2016-06-28 21:29:46 -04:00
Zachary Yedidia
aa8a329745 Fix JumpLine range
Fixes #187
2016-06-28 21:26:19 -04:00
Zachary Yedidia
22257df9a4 Fix replace cursor relocation 2016-06-28 15:06:42 -04:00
Camille Scholtz
b0ef071e94 command.go: Simplify and prettify replace feedback 2016-06-28 19:55:29 +02:00
Camille Scholtz
24b01776b3 command.go: Add some feedback to replace 2016-06-28 19:49:26 +02:00
Zachary Yedidia
cc9dd00948 Add string group to syntax files
This commit adds the string group (constant.string) to valid strings
in all the syntax files that support colorschemes (see the readme in
the runtime/syntax directory).

Fixes #178
2016-06-25 19:20:13 -04:00
Zachary Yedidia
c51c185be6 Add feedback to save with sudo
Fixes #183
2016-06-25 13:42:21 -04:00
Zachary Yedidia
91dd06fd9e Add new colorschemes to runtime 2016-06-23 08:39:26 -04:00
Zachary Yedidia
e6adc173f3 Fix issue with autoclose plugin 2016-06-22 21:03:40 -04:00
Zachary Yedidia
dbeb99bb6b Colorscheme group inheritance
With this commit, the syntax files can define groups that are subsets of
other groups, for example constant.string. This is so that colorschemes
can be more accurate, possibly highlighting strings differently than
numbers for example.

See #176. This doesn't fully close that issue yet because the string
group still needs to be added to all strings in the syntax files.
2016-06-22 18:51:36 -04:00
Zachary Yedidia
6665834cca Add autoclose plugin to handle autoclose for brackets, quotes etc...
The plugin adds an option `autoclose` to configure whether or not you
would like quotes, brackets etc... to be automatically closed. The
option is enabled by default.

Closes #176
2016-06-22 13:54:42 -04:00
Zachary Yedidia
47efea6501 Add onRune(r string) callback for plugins
Define this function in a plugin (which takes one argument) to be
notified whenever a character is typed, and the character will be passed
as the argument.
2016-06-21 17:57:25 -04:00
Zachary Yedidia
d32d373bff Only copy messages if there is a mouse left click (not any mouse event) 2016-06-21 17:54:36 -04:00
Zachary Yedidia
77b6c2c486 Auto prefix for plugin functions
YOu no longer have to prefix all functions in a plugin with the plugin
name (linter_onSave). This will now be done automatically using lua's
setfenv. When passing a function as a callback to a editor function,
make sure to prefix the plugin name (linter.onExit, or go.goimports) so
that micro knows which plugin to call the function from.
2016-06-21 17:49:57 -04:00
Zachary Yedidia
c1dadbd0c7 Fix mouse controls
Fixes #173
2016-06-19 09:02:47 -04:00
Zachary Yedidia
8be0f9c529 Clicking on messages will copy them to the clipboard
Fixes #172
2016-06-17 11:24:54 -04:00
Zachary Yedidia
d2277a376a Add support for job control
This commit adds support for job control (running processes
asynchronously from plugins) with the JobStart, JobSend, and JobStop
functions (copying neovim's job control).

This commit also makes the linter plugin work asynchronously, so the
editor won't be frozen while the linter checks your code for errors.
2016-06-15 11:19:00 -04:00
Zachary Yedidia
4a860625af Also allow ModShift to be on for windows terminals
Fixes #165
2016-06-11 19:41:37 -04:00
Zachary Yedidia
553b3d80c4 Fix diff remove problem in ApplyDiff
The location counter was being updated when there was a removal in
the text but it shouldn't be.

Fixes #163
2016-06-11 11:23:05 -04:00
Zachary Yedidia
cdfea45a49 Fix cursor line in true color colorschemes
Ref #171
2016-06-09 16:00:43 -04:00
Zachary Yedidia
f3f14193c2 Fix autocompletion using a slash 2016-06-09 13:36:16 -04:00
Zachary Yedidia
e2079ac88e Add file completion to OpenFile (CtrlO) with tab 2016-06-09 10:03:50 -04:00
Zachary Yedidia
1f89b41070 Fix mouse coordinates when tabbar is open
Fixes #170
2016-06-09 09:29:23 -04:00
Zachary Yedidia
1295b877e3 Fix tabbar bug
Fixes #169
2016-06-08 21:07:40 -04:00
Zachary Yedidia
860bc248c4 Fix resizing of tabs opened with the command line 2016-06-08 19:43:05 -04:00
Zachary Yedidia
2c73e1c043 Add default bindings for PreviousTab and NextTab 2016-06-08 18:48:59 -04:00
Zachary Yedidia
a79e964cb6 Make tabs respond to mouse events 2016-06-08 17:47:48 -04:00
Zachary Yedidia
059a5c3b89 Resize the view correctly when there is only one tab left 2016-06-08 14:38:15 -04:00
Zachary Yedidia
57f769c9a1 Don't display the tab bar if only one tab is open 2016-06-08 13:29:24 -04:00
Zachary Yedidia
40affa56c7 Create tab struct and reorganize tab bar 2016-06-08 13:26:50 -04:00
Zachary Yedidia
5f19f69681 Tab bar and support for opening multiple files 2016-06-08 12:19:36 -04:00
Zachary Yedidia
3080e32a8f Fix multiline remove in lineArray
I forgot that when you remove lines[n] then lines[n+1] becomes lines[n]
so to remove the range lines[a:b] you need to remove lines[a] for a-b
times. In this case we should delete lines[start.Y + 1] over and over
instead of removing lines[i] because i is contantly increasing.

Fixes #166
2016-06-08 10:21:27 -04:00
Zachary Yedidia
bd0fa7b6c2 Add DeleteLine binding
Ref #135
2016-06-07 21:47:34 -04:00
Zachary Yedidia
3deee51537 Fix bug with pasting with new Location system 2016-06-07 18:24:13 -04:00
Zachary Yedidia
d72da1eb5c Add more descriptive error message if there is an error with gob 2016-06-07 17:03:05 -04:00
Zachary Yedidia
8d184c1870 Fix glitch with undo 2016-06-07 16:10:39 -04:00
Zachary Yedidia
f0b6725000 Minor fix 2016-06-07 14:45:37 -04:00
Zachary Yedidia
f0faeb3a3e Fix bug with Move() 2016-06-07 12:31:02 -04:00
Zachary Yedidia
72f5808025 Replace rope with lineArray 2016-06-07 11:43:28 -04:00
Zachary Yedidia
d6307b2718 Proper support for double width characters
Fixes #99
2016-06-04 16:25:11 -04:00
Zachary Yedidia
852bd2c904 Fix redraw bug
Fixes #162
2016-06-04 16:00:53 -04:00
Zachary Yedidia
3d62a1baa0 Don't display cursorline if there is a selection 2016-06-02 13:15:47 -04:00
Zachary Yedidia
7e218562a3 Remove "Applying Diff" message on reopen
Fixes #160
2016-06-02 13:05:57 -04:00
Zachary Yedidia
e6c6c7f47d Merge 2016-06-02 13:04:11 -04:00
Zachary Yedidia
1d52ef6c54 Add simple way to save with sudo if you forgot to open micro with sudo
If you are editing a read-only file and forgot to open micro with sudo
so you could write to it, when saving the file, micro will now give you
the option to save with sudo.

This little hack is used by vim users to achieve the same behavior, but
micro makes it nicer to use. Here is an explanation for how it works:
http://stackoverflow.com/questions/2600783/how-does-the-vim-write-with-sudo-trick-work

Fixes #158
2016-06-02 13:01:13 -04:00
JT Olds
646cdd6a9f chainable actions and flexible modifiers
Doesn't work quite right yet, but the idea is to support
arbitrary modifiers without having to hardcode in all the permutations
of alt/shift/ctrl for every key, along with chainable actions,
so this can be configured:

   "AltBackspace": "SelectWordLeft,Backspace",
2016-06-01 19:43:30 -06:00
Zachary Yedidia
9e96623725 Small improvement to line selection 2016-06-01 18:00:49 -04:00
Zachary Yedidia
742370646f Add cursorline option 2016-06-01 10:05:17 -04:00
Zachary Yedidia
5e83b2c99a Fix redraw glitch 2016-06-01 07:45:01 -04:00
Zachary Yedidia
cd6389c49e Make CursorPageUp and CursorPageDown default
This commit also fixes the documentation for PageUp and PageDown.

See #149
2016-05-31 19:45:19 -04:00
Zachary Yedidia
312595ba4f Merge 2016-05-31 19:25:35 -04:00
Zachary Yedidia
64c0446b8d Fix redraw glitch 2016-05-31 19:25:32 -04:00
JT Olds
8bd23a575f Add CursorPageUp and CursorPageDown actions 2016-05-31 16:02:42 -06:00
Zachary Yedidia
74cac8291a Screen redraw optimization
We don't have to clear the screen every time, we only have to make sure
that we erase the rest of the line that used to be on the current line.
We can still optimize a bit more by finding the longest line and drawing
to that length, but using the full width is fine for now.
2016-05-31 17:23:08 -04:00
Zachary Yedidia
ef17306f8b Allow changes from external programs to be undone
We use a diff to be able to transform the buffer into an arbitrary
string (usually when we reread the file after an external program such
as gofmt has changed it) and still preserve undo/redo.

Fixes #136
2016-05-30 21:01:40 -04:00
Zachary Yedidia
d4caf4510c Fix bug with on reopen 2016-05-30 18:22:10 -04:00
Zachary Yedidia
b312e7c9ad Refactor ReOpen function 2016-05-30 17:48:33 -04:00
Zachary Yedidia
7adcb13c08 Add support for user-created commands
Plugins can now create their own commands using the `MakeCommand`
function. Plugins can also now create their own keybindings with the
`BindKey` function. See the go plugin for an example of `MakeCommand`.
2016-05-30 13:38:50 -04:00
Zachary Yedidia
68189fd406 Add ability to bind lua functions defined in plugins 2016-05-30 09:12:04 -04:00
Zachary Yedidia
e3e50dd6f6 Add DeleteWordRight and DeleteWordLeft bindings 2016-05-29 19:09:27 -04:00
Zachary Yedidia
19717dd3ae Check if the file being edited has been modified by an external program 2016-05-29 17:58:06 -04:00
Zachary Yedidia
ee9f2a3d9c Add persistent undo as the option 2016-05-29 11:02:56 -04:00
Zachary Yedidia
1fe18eecb7 Add history navigation with up and down arrows
Fixes #145
2016-05-28 18:41:53 -04:00
Zachary Yedidia
a92a7dc4e6 Add savecursor option
This adds the `savecursor` option which will remember where the cursor
was when the file was closed and put it back when the file is opened
again. The option is off by default so that people aren't confused as to
why the cursor isn't at the start of a file when they open it.

This commit also adds a more general ability to serialize a buffer so
various components can be saved (which could also be useful for persistent
undo).

Fixes #107
2016-05-28 17:29:49 -04:00
Zachary Yedidia
96c7bc67c0 Make Quit() close help if its open and not the whole editor
Fixes #146
2016-05-28 14:53:48 -04:00
Zachary Yedidia
87d147cf92 Indicate correct help binding in status line 2016-05-28 13:58:42 -04:00
Zachary Yedidia
a08f457cd0 Allow users to insert \t and \n in replace commands
Fixes #144
2016-05-28 11:40:22 -04:00
Zachary Yedidia
b641d67561 Rematch every time a replacement is made 2016-05-28 11:36:48 -04:00
Zachary Yedidia
e8d8da1443 Refactor and clean up
This commit puts in place the ability for multiple views (splits).
This commit also removes the editor bindings so that all bindings can be
rebound by the user.
I also added some more comments

This fixes #109
2016-05-28 11:32:09 -04:00
Zachary Yedidia
d9d0af4a99 Merge pull request #139 from onodera-punpun/undo_option
make undothresthold a setting and add stackundo option
2016-05-27 18:05:37 -04:00
Camille
00fe82e9c7 Fix typo 2016-05-27 23:39:53 +02:00
Camille Scholtz
1806ef3ad0 Remove undo options, make stackundo default behavior 2016-05-27 23:39:27 +02:00
Camille Scholtz
007ece1e78 Add stackundo option 2016-05-26 19:36:59 +02:00
Zachary Yedidia
66d448a59c Fix highlighting and searching with unicode characters
Fixes #134
Fixes #138
2016-05-25 11:49:04 -04:00
Zachary Yedidia
ca58fc949e Make sure there is a selection before deleting it
Fixes #140
2016-05-24 17:46:46 -04:00
Camille Scholtz
e553815501 make undothresthold a setting (part 2) 2016-05-24 21:40:05 +02:00
Camille Scholtz
3da2a870b6 make undothresthold a setting 2016-05-24 21:38:46 +02:00
Zachary Yedidia
f730864e9f Do a bounds check for charpos function 2016-05-24 09:15:01 -04:00
Zachary Yedidia
55a6b6701d Fix crash 2016-05-22 20:59:31 -04:00
Zachary Yedidia
7d1d118fee Improve the scrollmargin behavior at the end of the buffer 2016-05-22 17:52:42 -04:00
Zachary Yedidia
6ece5bc41a Fix tabstospaces problem 2016-05-22 15:47:28 -04:00
Zachary Yedidia
4cc85868d9 Rename to tabstospaces for consistency 2016-05-22 15:35:57 -04:00
Zachary Yedidia
74e55f03fe Merge pull request #130 from onodera-punpun/center_search
Add a bit of "padding" to relocate.
2016-05-22 15:35:29 -04:00
Zachary Yedidia
f9adcd525d Add ability to bind alt keys
This lets you bind keys like Alt-b or Alt-f.
This commit also adds some new default keybindings in emacs style, so
alt-a is beginning of line and alt-e is end etc...
2016-05-22 15:33:40 -04:00
Zachary Yedidia
df684ec505 Store cursor and eventhandler in buffer instead of view
This is better design because the cursor and eventhandler are things the
buffer should know about directly but the view shouldn't. This should
make it easier to add persistent undo or location saving between
sessions (see #107).
2016-05-22 15:01:02 -04:00
Camille Scholtz
52f1be5725 simplify scrollmargins 2016-05-20 20:06:01 +02:00
Camille Scholtz
9791f192f8 Move scrollmargin declaration 2016-05-20 19:46:18 +02:00
Camille Scholtz
116b247439 Add scrollmargin option, rename scrollSpeed to scrollspeed for consistency, make help.md more consistent (replaced some spaces with tabs) 2016-05-20 19:44:16 +02:00
Camille Scholtz
096221fd0e Add padding to relocate func (fixes weird scrolling behavior) 2016-05-20 17:43:26 +02:00
Camille Scholtz
bbcd33d9fd Add a bit of "padding" to relocate 2016-05-20 17:34:20 +02:00
Zachary Yedidia
0673396335 Merge branch 'duplicate' of https://github.com/onodera-punpun/micro into onodera-punpun-duplicate 2016-05-20 09:46:54 -04:00
Zachary Yedidia
009792b6b1 Fix ctrl modifiers 2016-05-20 09:41:00 -04:00
Zachary Yedidia
3d6eba376d Merge 2016-05-20 09:19:28 -04:00
Zachary Yedidia
ebaad9b00c Use the new and updated version of tcell 2016-05-20 09:19:25 -04:00
Camille Scholtz
81e1a6e157 Give shortcuts more message feedback, add duplicate line option (fixes #124) 2016-05-20 00:04:53 +02:00
Zachary Yedidia
342149af3f Add colorscheme to makefile syntax file
Closes #125
2016-05-19 07:26:10 -04:00
Zachary Yedidia
b0930a0bb8 Merge pull request #121 from onodera-punpun/case_insensitive
search case insensitive
2016-05-18 12:47:40 -04:00
Camille Scholtz
bfbfc50018 Add ignorecase option 2016-05-18 18:44:32 +02:00
Camille Scholtz
2a95d0b012 search case insensitive 2016-05-18 18:11:11 +02:00
aerth
17397d503e
add binding for ClearStatus 2016-05-18 07:18:14 -07:00
Zachary Yedidia
77d8a2217f Fix selection graphics for indentchar 2016-05-18 09:33:49 -04:00
Zachary Yedidia
333c4ac6b1 Fix ordering of selection on SelectAll
Fixes #119
2016-05-18 09:27:17 -04:00
Zachary Yedidia
d7b61ecfa8 Fix small bug in Remove function in buffer 2016-05-17 19:57:16 -04:00
Camille Scholtz
4a38f232c0 Add copy feedback 2016-05-17 20:09:59 +02:00
Zachary Yedidia
6d394efcd9 Remove some unnecessary code
Fixes #104
2016-05-17 13:39:27 -04:00
Zachary Yedidia
c727775557 Merge pull request #111 from onodera-punpun/fix_jump
Fix jumping in rxvt-unicode when switching focus
2016-05-17 13:38:59 -04:00
Camille
baddc4107e Change relocate from true to false 2016-05-17 19:31:36 +02:00
Zachary Yedidia
363697a657 Fix capitalization of scrollSpeed option
Closes #114
2016-05-17 12:53:46 -04:00
Zachary Yedidia
abddd6eecd Merge pull request #110 from onodera-punpun/indentchar
Add indentation character option(s).
2016-05-17 12:37:47 -04:00
Zachary Yedidia
213bb6fabe Fix find where the match indicies are the same
Fixes #113
2016-05-17 12:36:41 -04:00
Camille Scholtz
87a0c06197 Add scrollspeed option 2016-05-17 18:15:47 +02:00
Camille Scholtz
93927cf0f5 Rename indent-line to indent-char, change default value from | to 2016-05-17 18:09:49 +02:00
Camille Scholtz
266461cc72 Fix jumping in rxvt-unicode when switching focus 2016-05-17 17:53:49 +02:00
Camille Scholtz
a0d4123731 Add indent character option 2016-05-17 17:17:18 +02:00
Zachary Yedidia
3d1fb69c15 Merge 2016-05-15 13:44:30 -04:00
Zachary Yedidia
aa8944304b Add statusline option
Fixes #105
2016-05-15 13:44:07 -04:00
Dante Swift
a03cacf1e7 saving now resets buffer IsModified to false 2016-05-15 00:26:36 -06:00
Zachary Yedidia
e2efc963b7 Simplify IsDirty check 2016-05-14 12:04:13 -04:00
Zachary Yedidia
29ae840413 Use rope substring instead of report 2016-05-07 10:57:40 -04:00
Zachary Yedidia
8670a03973 Add the text member back.
It seems rope.Report is not acting how I expected it to. I need to look
into this in more detail but for now I am adding the Text variable back
to the Buffer.

Fixes #98
2016-05-06 19:15:10 -04:00
Zachary Yedidia
aeff0f8170 Merge pull request #82 from zyedidia/plugins
Plugin System
2016-05-06 11:56:24 -04:00
Zachary Yedidia
ae946c5f5e Update runtime 2016-05-06 11:55:41 -04:00
aerth
5baf2e226d
Hint at ^P and ^N after finding 2016-05-06 02:52:51 -07:00
Zachary Yedidia
31567c9e15 Add linter option 2016-05-05 12:53:28 -04:00
Zachary Yedidia
3cbb23bfbe Add automatic linting for Go, Python, C, D, Java, Javascript, Lua 2016-05-05 12:53:27 -04:00
Zachary Yedidia
1668e91310 Add linter plugin to easily make linters 2016-05-05 12:53:27 -04:00
Zachary Yedidia
59e71a4a0c Improved error parsing and use warnings for golint instead of errors 2016-05-05 12:53:27 -04:00
Zachary Yedidia
908bcb22ae Have go plugin create its own options 2016-05-05 12:53:27 -04:00
Zachary Yedidia
05e2886dca Fix build error 2016-05-05 12:53:27 -04:00
Zachary Yedidia
a262530217 Fix gutter message line counting 2016-05-05 12:53:27 -04:00
Zachary Yedidia
30c7a9c4a5 Refine gutter messages and add go build checking to go plugin 2016-05-05 12:53:27 -04:00
Zachary Yedidia
d933efc53d Add hooks for every action that's bindable 2016-05-05 12:53:26 -04:00
Zachary Yedidia
a333f0ade2 Add default plugins, and install go plugin by default 2016-05-05 12:53:26 -04:00
Zachary Yedidia
603cec9d81 Load plugins from ~/.config/micro/plugins 2016-05-05 12:53:07 -04:00
Zachary Yedidia
eba820a9c7 Rewrite gofmt and goimports as plugins 2016-05-05 12:53:07 -04:00
Zachary Yedidia
e05e993e25 Interface with plugin.lua file 2016-05-05 11:31:59 -04:00
Zachary Yedidia
87d9221a73 Small optimization 2016-05-05 11:23:20 -04:00
Zachary Yedidia
f6dc983823 Optimization for buffer text
We no longer store a string representation of the buffer and instead
directly access it through the rope
2016-05-04 12:43:17 -04:00
Zachary Yedidia
c163aaa895 Small fix to relocation 2016-05-04 07:24:33 -04:00
aerth
896ade2041
Add Ctrl+L jump to line #, JumpLine()
Converts input to integer
	Returns error if any
	Only jumps to possible lines
	Returns number of lines available
2016-05-04 07:48:28 -07:00
Zachary Yedidia
5aace36618 Update screenshot and status line 2016-05-03 18:54:01 -04:00
Zachary Yedidia
cf2db5dfe7 Add R syntax file
Closes #91
2016-05-02 15:01:46 -04:00
Zachary Yedidia
07d8a08422 Use tcell's EventPaste to capture paste from the OS
This commit uses the recent commit to zyedidia/tcell to capture paste
events from the OS.

Fixes #60
Fixes #61
2016-05-02 11:16:03 -04:00
Zachary Yedidia
4ca6e65197 Default setting for tabsize should be float64 not int
Fixes #92
2016-05-02 07:23:08 -04:00
Zachary Yedidia
48a17a508d Use hash for savedText instead of full string 2016-05-01 19:07:54 -04:00
Zachary Yedidia
efb4b5e899 Don't store buffer in text event 2016-05-01 16:45:23 -04:00
Zachary Yedidia
012668146c Remove unnecessary check for selection 2016-04-30 16:56:48 -04:00
Zachary Yedidia
539d4b1167 Fix differences between selection with keys and with mouse
Fixes #89
2016-04-30 16:51:21 -04:00
Zachary Yedidia
9ad2820e5e Change selection color in solarized colorscheme 2016-04-30 15:32:33 -04:00
Zachary Yedidia
56cdfcfe46 If a setting is not defined, use the default, not the zero value 2016-04-30 15:02:33 -04:00
Zachary Yedidia
e0f20fbb55 Fix selection bugs 2016-04-30 14:06:00 -04:00
Zachary Yedidia
ebf91a7432 Constrain help text to 80 columns 2016-04-30 12:43:40 -04:00
Zachary Yedidia
f6393dd835 Use a map for settings instead of a struct
Using a map for the settings means that plugins will be able to create
their own settings at runtime.
2016-04-30 11:39:48 -04:00
Zachary Yedidia
18b0b3e97d Add bindings for shiftup and shiftdown 2016-04-28 21:00:46 -04:00
Zachary Yedidia
536c96237c Merge branch 'gutter-messages' 2016-04-27 12:33:45 -04:00
Zachary Yedidia
53249c46f5 Support different types of gutter messages 2016-04-27 12:33:33 -04:00
Zachary Yedidia
e1e441f588 Merge branch 'elementary-mouse' 2016-04-27 11:23:47 -04:00
Zachary Yedidia
cf8de5e11d Simple support for gutter messages 2016-04-27 11:22:57 -04:00
Zachary Yedidia
80755dcf31 Improve word movement behavior 2016-04-27 10:44:36 -04:00
Zachary Yedidia
6576dcc168 Merge branch 'arrow-bindings' 2016-04-26 21:15:08 -04:00
Zachary Yedidia
8e03e20055 Minor cleanup 2016-04-26 20:18:56 -04:00
Zachary Yedidia
6d2845ca35 Add mappings for ctrl keys 2016-04-26 20:14:58 -04:00
Zachary Yedidia
84a844994a Correct word movement behavior 2016-04-26 19:53:43 -04:00
Zachary Yedidia
6c99eea610 Improve WordRight and WordLeft bindings 2016-04-26 09:58:56 -04:00
Zachary Yedidia
e00e0cfa3f Starting to add more mappings for arrow keys
These mappings include Alt+arrows and Shift+arrows and Alt+Shift+arrows

This commit also switches the version of tcell that micro uses to my
fork which supports alt, shift, and ctrl + arrows.
2016-04-26 09:58:56 -04:00
Zachary Yedidia
269f15d88f Also use KeyBackspace for deleting in prompt
Fixes #78
2016-04-26 09:44:08 -04:00
R. Harish Navnit
94b71931bc Make the Home and End key presses point the cursor to the start and end of a line, respectively 2016-04-25 14:30:52 +05:30
Zachary Yedidia
0ee6be3d0f Use methods on view instead of functions for bindings 2016-04-24 18:32:18 -04:00
Zachary Yedidia
20ab7a44ab Relocate cursor on reOpen() 2016-04-24 17:26:42 -04:00
Zachary Yedidia
e1c1372f8f Add check flag for search and replace 2016-04-24 17:08:40 -04:00
Zachary Yedidia
3c32253772 Fix terminal mode panic 2016-04-24 16:49:54 -04:00
Zachary Yedidia
eabf21d3ed Use reflection for setting options 2016-04-24 15:35:16 -04:00
Zachary Yedidia
1d9d0c3a4d Fix PageUp and PageDown bindings
Fixes #72.
2016-04-24 14:40:30 -04:00
Zachary Yedidia
c903e949ef Merge 2016-04-24 09:01:42 -04:00
Zachary Yedidia
8807ede224 Added StartOfLine and EndOfLine actions
This commit also adds error reporting for invalid json.

Fixes #36.
2016-04-24 09:01:01 -04:00
Zachary Yedidia
74bd338cbc Improve help text 2016-04-24 08:38:38 -04:00
Zachary Yedidia
1f62ff9d80 Improve help text and move to its own file 2016-04-24 08:31:42 -04:00
Zachary Yedidia
d088b7c2df Merge pull request #71 from aerth/gofmt-2
gofmt-on-save redone for new bindings
2016-04-24 07:47:48 -04:00
aerth
7746952545
gofmt-on-save redone for new bindings 2016-04-24 01:48:51 +00:00
aerth
b39d383dac
cut lines into clipboard 2016-04-24 01:29:09 +00:00
Zachary Yedidia
af3715d55d If system clipboard is unsupported, use internal clipboard instead
Fixes #65
2016-04-23 20:54:52 -04:00
Zachary Yedidia
77853ec6b6 Use my fork of clipboard 2016-04-23 20:52:26 -04:00
Zachary Yedidia
93c3a503ea Use default binding for key if not specified 2016-04-23 19:03:24 -04:00
Zachary Yedidia
fa82fc2b74 Add delete key binding
Fixes #54
2016-04-23 18:58:02 -04:00
Zachary Yedidia
94c0f576e1 Load and save key bindings from bindings.json 2016-04-23 18:43:09 -04:00
Zachary Yedidia
2b8cc4cfce Fix build error 2016-04-23 18:28:41 -04:00
Zachary Yedidia
2adaf68bd4 Rework the bindings as keys bound to actions 2016-04-23 18:25:08 -04:00
Zachary Yedidia
0fac02cd08 Fix SelectLine 2016-04-23 14:02:20 -04:00
Zachary Yedidia
7281cdbadd Fix autoindent setting 2016-04-23 08:56:45 -04:00
Zachary Yedidia
7365f0f785 Fix selection highlighting 2016-04-22 19:31:50 -04:00
Zachary Yedidia
3d76898afe Fix elementary mouse issue
Fixes #34

This commit requires a modification to tcell before it will work.
2016-04-22 19:12:32 -04:00
Zachary Yedidia
fedb8b03da Fix horizontal scrolling
Fixes #59
2016-04-22 18:50:01 -04:00
aerth
23248c3a6f
Add ruler to possibleSettings 2016-04-22 20:15:38 +00:00
aerth
0440ca45cd
Toggle line numbers 2016-04-22 20:02:26 +00:00
Zachary Yedidia
acabfcb8bb Expand ~ in file opening 2016-04-22 09:23:01 -04:00
Zachary Yedidia
15dbf37154 Possible fix for elementary mouse issue 2016-04-22 09:11:44 -04:00
Zachary Yedidia
568f638e70 Add nicer deleting for soft tabs 2016-04-21 19:15:46 -04:00
Zachary Yedidia
77caf5878d Fix windows binary links
Fixes #47
2016-04-21 07:05:15 -04:00
Zachary Yedidia
6d3344e4bd Add auto indent 2016-04-20 21:47:52 -04:00
Zachary Yedidia
6aab17f445 Set last visual x after SetLoc is called
Fixes #46
2016-04-20 20:03:53 -04:00
Zachary Yedidia
3b4521e9c6 Remove unused syntax highlighting code and optimize IsDirty() 2016-04-20 13:52:10 -04:00
Zachary Yedidia
89493a3e80 Merge 2016-04-20 12:50:36 -04:00
Zachary Yedidia
b5b84d9068 Don't adjust mouse coordinates
Fixes #23
2016-04-20 12:50:13 -04:00
Zachary Yedidia
4f6a6866d1 Set encoding fallback to ASCII
See #45
2016-04-20 07:23:16 -04:00
Zachary Yedidia
0d1ba36044 Merge 2016-04-19 21:33:30 -04:00
Zachary Yedidia
65745a6b43 Much improved terminal mode (Ctrl-b)
This commit splits "Boss mode" into to different actions. Executing
a command with Ctrl-b will now open an interactive terminal. If you
would simply like to execute a background job in the shell, press
Ctrl-e and then type `run shell-command`.
2016-04-19 21:25:13 -04:00
Zachary Yedidia
9603baa6ec Merge pull request #44 from aerth/fork1
stdout and stderr buffers for command execution
2016-04-19 19:03:30 -04:00
Zachary Yedidia
c767b3dc0c Add OpenBuffer() function to View
Fixes #43
2016-04-19 18:58:52 -04:00
aerth
838a932dd9
stdout and stderr buffers for command execution 2016-04-19 19:49:43 +00:00
Zachary Yedidia
4305c71f6a Use a buffer for help screen
Fixes #24
2016-04-19 13:58:02 -04:00
Zachary Yedidia
2355f2fa51 Use variadic args for messenger Message and Error
Closes #41
2016-04-19 13:45:24 -04:00
Zachary Yedidia
87108bfed8 Add -version option
Fixes #33
2016-04-19 13:40:30 -04:00
Zachary Yedidia
f0ad01d1ec Add option to save and quit
Fixes #40
2016-04-19 13:16:08 -04:00
aerth
54f00cb937
shell command output is held in buffer until completion 2016-04-19 13:40:05 +00:00
aerth
f3e9271cae
boss mode: Single line output stays in messenger, multiline output goes to a help-style screen 2016-04-19 05:10:53 +00:00
aerth
bbe78fbdff
Display nonblank output on full screen 2016-04-19 04:53:56 +00:00
aerth
a2ca47a496
Boss mode 2016-04-19 04:33:54 +00:00
Zachary Yedidia
c264fec472 Fix end key behavior
Fixes #28
2016-04-18 21:24:15 -04:00
Zachary Yedidia
aa129c1ddf Add support for other encodings 2016-04-18 17:10:47 -04:00