summary refs log tree commit diff stats
path: root/compiler/lookups.nim
Commit message (Collapse)AuthorAgeFilesLines
* fixes #9764Araq2018-11-231-1/+1
|
* improve the error message for 'attempt to redefine X'; fixes #447Andreas Rumpf2018-09-171-11/+17
|
* fixes #8066Araq2018-08-311-1/+1
|
* better formatting for recursive module dependency (#8735)Timothee Cour2018-08-231-1/+1
|
* sfForward is also sfReorder for skModule symbols (#8692)LemonBoy2018-08-211-1/+1
| | | | | Take this into account while searching for undefined forward references. Fixes #8665
* WIP: disallow 'nil' for strings and seqsAndreas Rumpf2018-08-131-1/+1
|
* use slashes instead of dots for pathsAndreas Rumpf2018-08-061-1/+1
|
* baby steps for incremental compilationAndreas Rumpf2018-05-301-5/+9
|
* refactoring: remove idents.legacy global variable and pass the IdentCache ↵Andreas Rumpf2018-05-271-13/+13
| | | | around explicitly
* remove more global variables in the Nim compilerAndreas Rumpf2018-05-271-1/+1
|
* make tests green againAndreas Rumpf2018-05-181-13/+15
|
* preparations of making compiler/msgs.nim free of global variablesAndreas Rumpf2018-05-171-1/+1
|
* options.nim: no global variables anymoreAndreas Rumpf2018-05-131-4/+4
|
* lookups compiles againAndreas Rumpf2018-05-101-56/+53
|
* Cpp codegen: handling of imported exceptions. Fixes #3571 (#7360)cooldome2018-04-101-2/+0
|
* Static[T] fixes (#7333)zah2018-03-241-1/+2
| | | | | | | | | | | * fix the usage of unresolved static[T] parameters in proc signatures * fix tsametype and tmacrogenerics * Allow creating composite type classes with concepts and using them in type signatures * Allow integers to be used in ident concatenations * Support using imported C++ generic types in proc signatures * fixes #7230 * closes #7379 * re-enable some metatype tests
* fixes #6965Araq2017-12-281-3/+4
|
* fixes #1860; macro generating a wrong nkSymChoice nodeAndreas Rumpf2017-10-301-2/+10
|
* deprecated unary '<'Andreas Rumpf2017-10-291-1/+1
|
* first implementation of package level types that allow forwarding across ↵Andreas Rumpf2017-10-281-1/+1
| | | | module boundaries
* first implementation of the 'func' keywordAndreas Rumpf2017-09-231-2/+4
|
* .pure enums are much more convenient to use nowAndreas Rumpf2017-09-171-1/+3
|
* compiler: better error messages (#5613)Andreas Rumpf2017-03-261-13/+20
|
* big compiler refactoring; avoid globals for multi method dispatcher generationAndreas Rumpf2017-02-221-1/+1
|
* More progress towards a working #3691.Dominik Picheta2017-02-031-1/+1
|
* WIP: `as` with generics.Dominik Picheta2017-02-021-0/+3
|
* implements module grouping for the import statementAndreas Rumpf2016-12-211-2/+2
|
* recursive modules are only detected to improve error messagesAndreas Rumpf2016-11-241-4/+13
|
* fixes #4555Andreas Rumpf2016-08-021-7/+14
|
* compiler almost free of deprecated expr/stmt namesAndreas Rumpf2016-07-301-2/+2
|
* Locate 'attempt to redefine' errors at the import statement rather than at ↵Kier Davis2016-07-301-0/+4
| | | | the first line of the imported module. Fixes #4541.
* fixes an valid 'T' is not used hintAndreas Rumpf2016-07-201-1/+2
|
* fixes #177Andreas Rumpf2016-05-111-3/+16
|
* first implementation of the new lambda-lifting pass; barely anything worksAndreas Rumpf2015-12-261-1/+1
|
* renamed inCompilesContext to compilesContextId; added test case for #3313Araq2015-09-181-1/+1
|
* don't generate memset calls for C++ objectsAraq2015-03-181-37/+37
|
* minor cleanupsAraq2015-03-011-1/+1
|
* nimsuggest improvementsAraq2015-01-301-5/+10
|
* fixes #1944Araq2015-01-181-0/+10
|
* nimfix now in its own directory; single file mode now the defaultAraq2014-10-051-1/+1
|
* 'pretty' command does not exist anymore; improvements for nimfixAraq2014-09-101-1/+0
|
* some improvements for nimfixAraq2014-09-091-0/+10
|
* added nimfix toolAraq2014-09-051-2/+25
|
* updated the compiler to use the new symbol namesAraq2014-08-281-8/+5
|
* the big renamefest: first stepsAraq2014-08-221-46/+45
|
* Renamed considerAccents to considerQuotedIdentClay Sweetser2014-05-261-10/+10
|
* Fixes #1200Clay Sweetser2014-05-241-1/+2
|
* Renamed 'considerAcc' to 'considerAccents' for clarityClay Sweetser2014-05-241-10/+10
| | | | | Added documentation string to 'considerAccents' Modified renderParamType's assertion to allow nkAcc nodes.
* make some tests greenZahary Karadjov2014-03-161-1/+4
|
* Merge branch 'devel' of github.com:Araq/Nimrod into develZahary Karadjov2014-03-061-1/+1
|\
class="w"> / 1000 : waw; mh = (n > nmaster) ? wah / nmaster : wah / (n > 0 ? n : 1); tw = waw - mw; th = (n > nmaster) ? wah / (n - nmaster) : 0; for(i = 0, c = clients; c; c = c->next) if(isvisible(c)) { if(c->isfloat) { resize(c, True, TopLeft); continue; } c->ismax = False; c->x = wax; c->y = way; if(i < nmaster) { c->y += i * mh; c->w = mw - 2 * BORDERPX; c->h = mh - 2 * BORDERPX; } else { /* tile window */ c->x += mw; c->w = tw - 2 * BORDERPX; if(th > bh) { c->y += (i - nmaster) * th; c->h = th - 2 * BORDERPX; } else /* fallback if th < bh */ c->h = wah - 2 * BORDERPX; } resize(c, False, TopLeft); i++; } else ban(c); if(!sel || !isvisible(sel)) { for(c = stack; c && !isvisible(c); c = c->snext); focus(c); } restack(); } void focusnext(Arg *arg) { Client *c; if(!sel) return; if(!(c = getnext(sel->next))) c = getnext(clients); if(c) { focus(c); restack(); } } void focusprev(Arg *arg) { Client *c; if(!sel) return; if(!(c = getprev(sel->prev))) { for(c = clients; c && c->next; c = c->next); c = getprev(c); } if(c) { focus(c); restack(); } } void incnmaster(Arg *arg) { if((nmaster + arg->i < 1) || (wah / (nmaster + arg->i) < bh)) return; nmaster += arg->i; arrange(); } Bool isvisible(Client *c) { unsigned int i; for(i = 0; i < ntags; i++) if(c->tags[i] && seltag[i]) return True; return False; } void resizemaster(Arg *arg) { if(arg->i == 0) master = MASTER; else { if(master + arg->i > 950 || master + arg->i < 50) return; master += arg->i; } arrange(); } void restack(void) { Client *c; XEvent ev; if(!sel) { drawstatus(); return; } if(sel->isfloat || arrange == dofloat) { XRaiseWindow(dpy, sel->win); XRaiseWindow(dpy, sel->twin); } if(arrange != dofloat) { if(!sel->isfloat) { XLowerWindow(dpy, sel->twin); XLowerWindow(dpy, sel->win); } for(c = nexttiled(clients); c; c = nexttiled(c->next)) { if(c == sel) continue; XLowerWindow(dpy, c->twin); XLowerWindow(dpy, c->win); } } drawall(); XSync(dpy, False); while(XCheckMaskEvent(dpy, EnterWindowMask, &ev)); } void togglefloat(Arg *arg) { if (!sel || arrange == dofloat) return; sel->isfloat = !sel->isfloat; arrange(); } void togglemode(Arg *arg) { arrange = (arrange == dofloat) ? dotile : dofloat; if(sel) arrange(); else drawstatus(); } void toggleview(Arg *arg) { unsigned int i; seltag[arg->i] = !seltag[arg->i]; for(i = 0; i < ntags && !seltag[i]; i++); if(i == ntags) seltag[arg->i] = True; /* cannot toggle last view */ arrange(); } void view(Arg *arg) { unsigned int i; for(i = 0; i < ntags; i++) seltag[i] = (arg->i == -1) ? True : False; if(arg->i >= 0 && arg->i < ntags) seltag[arg->i] = True; arrange(); } void zoom(Arg *arg) { unsigned int n; Client *c; if(!sel) return; if(sel->isfloat || (arrange == dofloat)) { togglemax(sel); return; } for(n = 0, c = nexttiled(clients); c; c = nexttiled(c->next)) n++; if((c = sel) == nexttiled(clients)) if(!(c = nexttiled(c->next))) return; detach(c); if(clients) clients->prev = c; c->next = clients; clients = c; focus(c); arrange(); }