1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
# -*- mode: org -*-
#+PROPERTY: COOKIE_DATA todo recursive
* Useful resources
- Lua5.1
- [[http://www.lua.org/manual/5.1/manual.html#8][bnf syntax]]
- [[http://www.lua.org/manual/5.1/index.html#index][function index]]
- Lua5.2
- [[http://www.lua.org/manual/5.2/manual.html#9][syntax]]
- [[http://www.lua.org/manual/5.2/#index][function index]]
* TODO Fontify function parameters as variable names
* TODO Fontify variable names in line-continuation statements
- local
foo,bar,baz = xyz,xyyz,xyyz
- function xyzzy(
foo,
bar,
baz
)
* TODO left-shift parenthesis that closes function parameter block
local foobar = function(
param1,
param2,
param3
)
dosmth()
end
* TODO issue #33
a =
{
}
b =
{
}
* TODO finish works in lua-compat branch for Emacs21/Emacs22
* TODO put text property 'lua-last-stmt-begin
- continuation-line detection becomes a one-liner
- multiline fontification becomes easier
- beginning-of-defun is a one-liner
- if property value is a marker, it will get updated on each edit,
that's not necessary and might cause performance impact
- if property value is an integer, it needs to be updated before use
1. `buffer-access-fontify-functions' / `buffer-access-fontified-property'
2. maintain `stmt-begin-up-to-date-pos' point
- after-change function sets `stmt-begin-up-to-date-pos' to
(line-beginning-position)
- (defun get-stmt-beginning-pos (pos) ...)
- (when (< stmt-begin-up-to-date-pos pos)
...
(setq stmt-begin-up-to-date-pos pos))
- return property at position pos
* TODO Support line-continuation statements [0/2]
- [ ] assignments
x,y = long_value,
other_long_value
- [ ] `for ... do' operators
* TODO update site [0/2]
** TODO reuse section-aware template
** TODO add section for release downloading
* TODO [#C] Improve lua-prefix-key machinery [0/2]
- [ ] add docs
- [ ] improve setting prefix-key
Currently, prefix-key is parsed from a macro string (which may
contain more than one key) and all keys but the first one are
silently removed. Maybe there's a better way to do it.
* DONE Fix braces/parens that reduce indent by const offset
this causes wrong behavior when indented block was
anchored to first line, e.g.
my_func( hello,
world
)
* DONE lua-mark-all-multiline-literals [5/5]
- [X] process --[[ as multiline comment
- [X] process ---[[ as single-line comment
distinguish by syntax state of last dash before square bracket
- [X] don't recognize [[ in comments or literals
- [X] extend region backwards if BEGIN is inside multiline literal
- [X] don't change buffer-modified-p state
* TODO [#C] Redo syntax engine using semantic/wisent
|