Commit Graph

15249 Commits

Author SHA1 Message Date
George Marques
3e87ad5187
Rewrite code completion
- Use data type struct from the parser.
- Avail from type hints when type can't be guessed.
- Consider inner classes and other scripts when looking for candidates.
2018-07-20 21:55:18 -03:00
George Marques
3445dca01d
Add ability to infer variable type from assigned value
Syntax: var x : = 42
Infers the type of "x" to be an integer.
2018-07-20 21:55:18 -03:00
George Marques
03746da73f
Add editor highlight for type-safe lines
The line number is hightlighted to indicate that the line contains only
type-safe code.
2018-07-20 21:55:18 -03:00
George Marques
a2305cd8b2
Fix line number detection in some parser nodes 2018-07-20 21:55:17 -03:00
George Marques
75f395c2a0
Use type hints to improve completion
- Allow type hints to be completed.
- Use type information to infer completion candidates.
- Show typed function signature in tooltip.
- Add type hints when completing declaration from virtual functions
(optional).
2018-07-20 21:55:17 -03:00
George Marques
95351ac867
Add syntax highlighting to type hints 2018-07-20 21:55:17 -03:00
George Marques
e3d72d14ff
Use type information to enable GDScript introspection
This makes the Script API provide accurate information when requesting
property or method info.
2018-07-20 21:55:17 -03:00
George Marques
4b18c4e448
Add typed instructions to GDScript
- Typed assignment (built-in, native, and script).
- Cast (built-in conversion; native and script checks).
- Check type of functions arguments on call.
- Check type of members on set.
2018-07-20 21:55:17 -03:00
George Marques
743053734f
Add static type checks in the parser
- Resolve types for all identifiers.
- Error when identifier is not found.
- Match return type and error when not returning a value when it should.
- Check unreachable code (code after sure return).
- Match argument count and types for function calls.
- Determine if return type of function call matches the assignment.
- Do static type check with match statement when possible.
- Use type hints to determine export type.
- Check compatibility between type hint and explicit export type.
2018-07-20 21:55:16 -03:00
George Marques
f7793fc5c9
Store type hint of declared identifiers 2018-07-20 21:55:16 -03:00
George Marques
b7a00aead0
Move inheritance resolution to the parser 2018-07-20 21:55:16 -03:00
George Marques
8aab9a06d4
Add typing syntax 2018-07-20 21:55:16 -03:00
Juan Linietsky
cfcb6e11f2
Merge pull request #20312 from Nufflee/fix-#20171
Fix #20171.
2018-07-20 18:17:00 -03:00
Juan Linietsky
336db8bcd1 -Fix tooltips in inspector, now they show as rich text. 2018-07-20 18:16:19 -03:00
Nufflee
228bd21e26 Fix #20171. 2018-07-20 22:25:18 +02:00
Rémi Verschelde
002bacc01f
Merge pull request #20311 from YeldhamDev/update_spinner_popup_radio
Make Update Spinner popup use radio items
2018-07-20 21:20:05 +02:00
Michael Alexsander Silva Dias
12b55610ed Make Update Spinner popup use radio items 2018-07-20 14:32:53 -03:00
Juan Linietsky
6c09cdd136
Merge pull request #20157 from GodotExplorer/image-load-webp
Add webp buffer loader for Image
2018-07-20 12:00:21 -03:00
Rémi Verschelde
814fdd3985 Fix some more build issues after c69de2ba4
Fixes #20301.
2018-07-20 11:56:18 +02:00
Rémi Verschelde
2662c7e3d1
Merge pull request #20299 from PJB3005/18-07-20-cs-editorconfig
Adds C# rule to .editorconfig.
2018-07-20 11:36:29 +02:00
Pieter-Jan Briers
4c40227af6 Adds C# rule to .editorconfig.
C# standard is 4 width spaces, not tabs.
2018-07-20 08:42:13 +02:00
Rémi Verschelde
8c9e10553c Fix build issues and typos after c69de2ba4 2018-07-20 08:37:10 +02:00
Rémi Verschelde
286c88bb50 Fix typo in gdnative module path in CODEOWNERS
Supersedes and closes #20293.
2018-07-20 08:04:54 +02:00
Ignacio Etcheverry
a85f0f89fe
Merge pull request #20257 from oisincar/fix_basis
Fix bug with Basis.Transposed()
2018-07-20 06:47:15 +02:00
volzhs
b2d7641a0d
Merge pull request #20295 from volzhs/fix-restart
Fix unwanted restarting
2018-07-20 10:45:56 +09:00
volzhs
515c848ba8 Fix unwanted restarting 2018-07-20 10:41:32 +09:00
Juan Linietsky
c69de2ba46 -Project/Editor settings now use new inspector
-Project/Editor settings now show tooltips properly
-Settings thar require restart now will show a restart warning
-Video driver is now visible all the time, can be changed easily
-Added function to request current video driver
2018-07-19 19:02:04 -03:00
Rémi Verschelde
76bfe14e00
Merge pull request #20117 from ordigdug/inspector-fix-inconsistencies-with-exported-enums
Fix -new inspector- Inconsistencies with exported enums - Fixes remai…
2018-07-19 18:18:20 +02:00
Max Hilbrunner
aea6f4853e
Merge pull request #20265 from BastiaanOlij/csg_documentation
Added some documentation for the CSG nodes
2018-07-19 17:34:30 +02:00
Bastiaan Olij
6843f39875 Added some documentation for the CSG nodes 2018-07-19 22:24:46 +10:00
Rémi Verschelde
4ebcbea1ce
Merge pull request #20259 from marcelofg55/anim_call_err
Print an error when calling an invalid method on an Animation
2018-07-19 08:19:08 +02:00
Juan Linietsky
911febb41f Improvements to vector fields, show axis in color with a background 2018-07-18 22:27:39 -03:00
Marcelo Fernandez
9b9949de39 Print an error when calling an invalid method on an Animation 2018-07-18 22:26:01 -03:00
ordigdug
afb4dfab22 Fix -new inspector- Inconsistencies with exported enums - Fixes remaining issues in #19534 2018-07-18 20:01:03 -04:00
oisincar
7a4d593198 Fix bug with Basis.Transposed()
Fix bug where Basis.Transposed() incorrectly updated local basis, and
returned an unmodified copy. This also fixes Transform.Inverse().
2018-07-19 00:17:45 +01:00
Juan Linietsky
43dc050947 Several improvements to editor inspector usability and style 2018-07-18 19:37:41 -03:00
Ignacio Etcheverry
a731bd5864
Merge pull request #20253 from neikeq/nobranchnameideasfeelsbadman
Make C# bindings generator ignore disabled classes
2018-07-18 21:20:34 +02:00
Ignacio Etcheverry
92c7fe422b Make C# bindings generator ignore disabled classes 2018-07-18 21:15:41 +02:00
Juan Linietsky
82b550c6b3 Fix spin slider, was not registering drag properly 2018-07-18 15:35:26 -03:00
Rémi Verschelde
b538254b18
Merge pull request #20243 from karroffel/object-windows-doof
fix nameclash with MSVC
2018-07-18 19:31:44 +02:00
karroffel
43ae1c712f fix nameclash with MSVC 2018-07-18 19:28:26 +02:00
Juan Linietsky
d1550b4a9b Ability to disable scale in nodes, closes #19927 2018-07-18 13:48:09 -03:00
Rémi Verschelde
36efa7d445 Travis: Update clang-format version in shell script 2018-07-18 17:49:01 +02:00
Rémi Verschelde
22b176f69d Travis: Install libstdc++ >= 4.9 for clang-format-6.0 2018-07-18 17:39:05 +02:00
Juan Linietsky
09b1fdc97b
Merge pull request #19931 from BastiaanOlij/csg_polygon_local
Added path_local, path_continuous_u and path_joined properties to CSGPolygon
2018-07-18 11:33:47 -03:00
Rémi Verschelde
003ac67df1 Travis: Update style checks to clang-format 6.0.1 2018-07-18 16:29:43 +02:00
Rémi Verschelde
7c9f7452f4 Style: Format code with clang-format 6.0.1 2018-07-18 16:27:03 +02:00
Max Hilbrunner
ce53876a44
Merge pull request #20242 from akien-mga/export-preset-reload
Export: Properly reload preset when opening dialog
2018-07-18 16:20:57 +02:00
Max Hilbrunner
e064eea940
Merge pull request #20241 from akien-mga/export-filter-no-res
Export filters: Relax match to allow paths without leading res://
2018-07-18 16:20:06 +02:00
Rémi Verschelde
13239cd4cc Export: Properly reload preset when opening dialog
Fixes #20119 where newly installed templates were not detected.

Also fix a bug with preset deletion where it would attempt to
edit an already removed preset. For this I made it so that
ItemList::deselect_all() also resets `current` to -1, as a manual
ItemList::deselect(idx) already does.
2018-07-18 13:49:34 +02:00