Commit Graph

5599 Commits

Author SHA1 Message Date
Juha
41adb276bb Remove obsolete checks for FPC versions earlier then 3.0. 2023-07-07 17:39:02 +03:00
mattias
ae9ab00109 updated Makefiles 2023-06-30 20:50:27 +02:00
Martin
ed410cb98c Codetools: fix TIdentifierHistoryList.Add
- If an existing item moves to the front (to HistoryIndex=0) then all Indexes between 0 and the old value need updating (the old value became unused, so items above do not need an update).
- If an new item is inserted, all existing items need to be increased.
2023-06-28 19:30:45 +02:00
mattias
fde0e0f965 set main version to 3.99 2023-06-25 17:47:14 +02:00
Martin
de3a85ac41 Codetools: order Identifier completion by declaration (scoped). Part of issue #40332 (Based on) Patch by WooBean007 2023-06-24 12:37:56 +02:00
Martin
92b6ded394 Fix Compile / missing semicolon 2023-06-18 16:50:21 +02:00
Martin
4f1d9530d5 Codetool: fix endless loop in "Find block begin", when already at start of file. Issue #40326 2023-06-18 10:37:55 +02:00
Juha
74446557f6 Remove old deprecated functions and units. 2023-06-15 02:35:52 +03:00
mattias
3a096be5ed codetools: less hints, search inc file order 2023-06-12 10:41:17 +02:00
mattias
58e260b6ba codetools: fixed include file 2023-06-12 07:26:23 +02:00
mattias
3a13fbf259 updated makefiles 2023-06-11 23:20:56 +02:00
mattias
a6933c07a9 ideconfig: less dependency on codetools 2023-06-11 23:10:53 +02:00
mattias
67c1c58793 codetools: moved DateToCfgStr to LazConfigStorage 2023-06-11 21:34:37 +02:00
mattias
f75c120bdb codetools: TLinkScanner: use directorycacher 2023-06-11 20:21:22 +02:00
mattias
d939016d4e codetools: TLinkScanner: search inc file in fpc cfg of current set 2023-06-09 16:51:10 +02:00
mattias
13323a7e32 codetoolsL TLinkScanenr: using TSourceLog 2023-06-09 16:15:46 +02:00
mattias
1d74ac6a25 codetoolsL TLinkScanenr: using TSourceLog 2023-06-09 16:15:46 +02:00
mattias
cece089505 codetools: TLinkScanner.SearchIncludeFile: less overhead when searching multiple extensions 2023-06-09 16:15:46 +02:00
mattias
48401c65c8 codetools: clean up 2023-06-08 16:02:40 +02:00
mattias
82af78d8bb codetools: clean up 2023-06-08 13:48:16 +02:00
mattias
c41663daa6 codetools: fixed searching include file first in incpath, then in fpc src, then relative to inc file 2023-06-07 23:25:17 +02:00
mattias
d8efd39359 codetools: scan fpc source: skip backups 2023-06-03 16:38:45 +02:00
mattias
7153012ca8 codetools: added ide/packages/idedebugger to src path of debugger 2023-05-31 22:41:44 +02:00
mattias
7bc5b63fbb updated makefiles 2023-05-27 02:07:12 +02:00
Juha
54086209c6 IDE, Codetools: Fix renaming non-dotted identifiers. Same function RenameIdentifier is used for dotted unit names. Issue #40195. 2023-05-25 13:02:00 +03:00
Michaël Van Canneyt
9b5d74360a * Add CPPDECL modifier 2023-05-24 11:03:13 +02:00
mattias
da12f4b7d5 codetools: started TCTDirectoryCachePool.FindIncludeFileInDirectory 2023-05-23 22:49:13 +02:00
mattias
ddfd3414de codetools: TCTStarDirectoryCache.FindFile 2023-05-21 23:49:54 +02:00
mattias
b027994d7d codetools: started find unit in star directory 2023-05-21 10:11:58 +02:00
Juha
db2bca3949 Support compiling more of Lazarus + its components with -Sy option. 2023-05-21 01:32:42 +03:00
Juha
0991e39f7d Codetools: Fix renaming dotted unit names + many functions dealing with dotted indentifiers. Issue #40195, patch by CCRDude. 2023-05-16 20:11:54 +03:00
Juha
2a16d0338e Codetools: Improve renaming dotted unit names. Issue #40195. 2023-05-16 02:47:07 +03:00
mattias
4446dac739 codetools: added lazcontrolsdesign path for ide folder 2023-05-05 09:07:07 +02:00
mattias
2766b200c2 ide+codetools: simplified check disk changes and fixed lfm check 2023-04-23 19:00:29 +02:00
mattias
b1ed01fde8 IDE: extended Change Class for ambiguous component classes 2023-04-18 22:25:21 +02:00
mattias
714a31d3f2 codetools: fixed CompleteComponent 2023-04-13 15:51:08 +02:00
mattias
345f47ca6f IDE: loadlfm: resolve ambigious registered component classes 2023-04-13 15:38:12 +02:00
mattias
16eea4aacd IDE: loadlfm: check for ambiguous classes, heuristics to resolve ambiguous classes 2023-04-13 15:38:12 +02:00
mattias
37d638661f codetools: added GatherPublishedVarTypes, CompleteComponent with optional CheckUnits 2023-04-13 15:38:12 +02:00
mattias
db82372e4b codetools: less hints 2023-04-13 15:38:12 +02:00
mattias
aee6888497 codetools: renamed CompleteComponent to AddPublishedVariables, added tests 2023-04-09 19:48:37 +02:00
mattias
a7f2330310 codetools: CheckLFM: variable type with unit name 2023-04-07 14:03:40 +02:00
mattias
7dec126e98 codetools: test wrong object unitname 2023-04-07 11:29:42 +02:00
mattias
d8a835dd17 codetools: test wrong root unitname 2023-04-07 11:29:41 +02:00
mattias
35a67fba04 codetools: started checking type unitnames 2023-04-06 12:33:47 +02:00
mattias
54d8f2bdb1 IDE: moved CTSafeFormat to avoid nameclash with fpc 3.3.1 SafeFormat 2023-04-02 20:16:14 +02:00
mattias
454f272551 codetools: fixed event assignment completion with existing @name 2023-03-31 15:36:20 +02:00
Juha
29794316f2 Converter: Move function PathHasPascalUnitFile to IDEProcs. Search missing units from all open packages. 2023-03-26 15:38:22 +03:00
mattias
fda255ba15 codetools: class completion: insert first method body behind/in front of neighbour class 2023-03-13 05:26:41 +01:00
mattias
d3a9a217b2 codetools: test class completion: insert first method body 2023-03-13 05:26:41 +01:00
mattias
c8ff4ec3ee codetools: fixed complete event assignment 2023-03-12 23:11:26 +01:00
mattias
d0a8be0821 codetools: add test complete event assignment 2023-03-12 23:11:06 +01:00
mattias
82edbea0ac codetools: clean up 2023-03-12 22:52:25 +01:00
mattias
f2050ac1c3 codetools: comment 2023-03-12 22:43:19 +01:00
Martin
f0901a9512 Codetools: parse specialization as function result (in function type def) Issue #38970 2023-03-10 16:56:06 +01:00
Martin
7172fd48e9 Codetools: test for Issue #28989 2023-03-10 16:27:42 +01:00
Martin
cbda39285c Codetools: fix finding types declared in specialized generics (and inside classes in generics). Issue 28989 2023-03-10 15:57:57 +01:00
Martin
258d843914 Codetools: fix "a:=TSpcecialized.Create". When completing/declaring variables find the name of the specialized class. 2023-03-10 14:32:31 +01:00
Martin
e923b4c5d5 Codetools: parse function-param of type "specialize G<T>.member". (Part of) issue #39699 2023-03-09 23:51:02 +01:00
Martin
44b14e0702 Codetool: nested (inside class) declaration of generic. Issue #37640 2023-03-09 20:21:53 +01:00
Martin
84e5a5ba02 CodeTools: fix guesstype (type for declaration) with generics. 2023-03-08 17:25:09 +01:00
Martin
89ab07a39f Codetools: Find type of generic, if specialized with build-in type (e.g. string) 2023-03-07 22:41:24 +01:00
Martin
31c8f2dadd Codetools: add testcase for issue 40145 / allow "{completion" after dot. 2023-03-07 20:10:19 +01:00
Martin
b03e3b50fd Codetool: preserve generic-param as result, if it can not be resolved. 2023-03-07 13:10:49 +01:00
Martin
6d1b53067f Codetools: fix FoundProc stack list. 2023-03-07 13:10:49 +01:00
Martin
04337988d9 Codetools, tests: Add test for issue #32252 2023-03-06 16:53:27 +01:00
Martin
6fda552055 Codetools: Return generic params for found identifier / Update calling Parameters 2023-03-06 12:53:54 +01:00
Martin
19d12f194d Codetools: Prevent node caching for results in generics. 2023-03-06 11:46:29 +01:00
Martin
ddc435d313 Codetools: Match generic params with the correct specialize. In case of specialize inside of a generic params were mismatched. 2023-03-06 00:30:56 +01:00
Martin
5f053c5a52 CodeTools: test for improve FindDeclaration in nested specialized classes 2023-03-05 21:36:16 +01:00
Martin
68366d178c CodeTools: Fix parsing "with" statement, ended by outer block (repeat, try, if...) Issue #39684 Patch by Domingo Galmés 2023-03-04 20:12:02 +01:00
Martin
749ab743d6 CodeTools: improve FindDeclaration in nested specialized classes 2023-03-04 15:31:56 +01:00
Juha
a9752b1326 Codetools: Fix parsing variant records with pointers to procedure. Issue #40145, patch by Domingo Galmés. 2023-03-04 14:16:04 +02:00
mattias
e5058e166d codetools: fixed ide include paths 2023-03-01 19:29:30 +01:00
Juha
994659c015 Add loongarch64 support. FPC trunk supports it, too. Issue #40127, patch by Alfred Glänzer. 2023-02-25 23:24:38 +02:00
mattias
4c53c90895 codetools: test CheckLFM: parse unitname 2023-01-18 10:00:42 +01:00
mattias
2db4892771 codetools: lfmtree: parse unitname and nested class 2023-01-17 22:41:57 +01:00
mattias
09c3e47a45 codetools: test CheckLFM child component 2023-01-17 22:41:17 +01:00
mattias
029f775a85 codetools: started testsuite for CheckLFM 2023-01-17 21:50:16 +01:00
mattias
827fe1fa19 codetools: if sizeof unicodechar 2023-01-15 13:19:52 +01:00
mattias
1b490d997c codetools: implemented $if sizeof() for some built-in types 2023-01-13 12:43:46 +01:00
mattias
6bdd3dfa3d codetools: updated ide unit paths 2023-01-09 20:41:31 +01:00
Ondrej Pokorny
cbef44b7ef CodeTools: fix attribute resolver - remove exception handling 2022-12-28 08:55:51 +01:00
Ondrej Pokorny
0f438c98fe CodeTools: fix attribute resolver 2022-12-28 02:07:17 +01:00
Juha
5719672f10 Codetools: Fix SmartHint for generic specialized types. Issue #29860. 2022-12-23 15:25:06 +02:00
mattias
2e52709c59 codetools: added ide/packages/ideconfig to srcpath of ide 2022-12-14 15:09:15 +01:00
mattias
488c7e32c1 codetools: lazarus definetemplate clean up 2022-12-09 17:19:14 +01:00
Martin
28247a829c IDE: Move LazConf.pp to new base-package "IdeConfig" 2022-12-08 19:28:19 +01:00
Martin
369e4e47a7 IDE: Add base-package "IdeConfig" 2022-12-08 01:38:41 +01:00
Martin
042ddcfe20 Fix UnicodeSpacesToASCII, After "Replace()" p is already replaced. Old code could skip codepoints or iterate past end of string. Don't replace regular space #20 with itself (nop). 2022-12-02 00:58:42 +01:00
mattias
6671244b72 updated makefiles, fixed compile fpdebug with fpc 3.2.2 2022-11-13 13:23:46 +01:00
Martin
e1dc8a96d9 Codetool: prevent recursion in ResolveBaseTypeOfIdentifier. Issue 39897
`fdfFunctionResult` will cause `FindExpressionTypeOfTerm` to `ResolveChildren` and recurse forever if the node starts with open brackets. If the cursor is not on an identifier, it should not be a function and the flag is not needed.
2022-10-26 14:58:42 +02:00
Martin
204e3d5734 CodeTools, tests: run "bug*" tests too. 2022-10-26 14:54:02 +02:00
Martin
f47e51faf4 Codetool: FindDeclaration, fix "generic array" in fdt_generics_finddeclaration.pas / Fix issue #39738 2022-10-20 21:39:46 +02:00
Martin
d488d45819 CodeTool: Improve tracking specialized generic parameters (e.g. variable class base).
Undo/Replace commits:
- 797768a965, Branch RevNo: 58874
  codetools: code completion for "FOR var IN" with generic class, from Pascal Riekenberg
  git-svn-id: trunk@63136 -
- 4d12a06af5, Branch RevNo: 62044
  CodeTools: Resolve generic params when searching in ancestors.
2022-10-20 13:55:54 +02:00
Martin
eea8b2cd21 IDE, Debugger, Project: Allow setting up project specific debugger backends 2022-08-28 21:00:28 +02:00
mattias
96cf3062ba codetools: lazarussrc template: added unit paths 2022-07-26 16:37:56 +02:00
Pascal Riekenberg
54aadb67fd Codetools: fixed parsing of directives with in operator + test 2022-07-06 23:32:59 +02:00
Pascal Riekenberg
d5951070d0 Codetools: Tests for: Keep empty () on code completion. Issue #39712. 2022-07-06 22:33:47 +02:00
Pascal Riekenberg
781955e856 Codetools: Keep empty () on code completion. Issue #39712, patch by Domingo Galmés. 2022-07-06 22:32:10 +02:00
Pascal Riekenberg
00fca7c4fa codetools: prevent av/error when typing '.' in array definition or float value, issue #34448 2022-06-29 21:38:45 +02:00
Maxim Ganetsky
b47cfe278d CodeTools: removed unused resource strings, regenerated translations 2022-06-25 01:47:29 +03:00
mattias
66b36cd172 codetools: fixed some tests 2022-06-17 17:35:23 +02:00
mattias
6b9fd935b2 codetools: parse underscore in decimals 2022-06-17 17:20:11 +02:00
Martin
caa6e333a2 Codetools: prevent endless loop in FindExpressionTypeOfTerm 2022-06-06 21:08:57 +02:00
mattias
9e762cde89 udpated makefiles 2022-05-29 19:34:19 +02:00
mattias
da07d07593 codetools: no error on unknown modeswitch 2022-05-29 15:54:10 +02:00
mattias
e8afecf3c7 codetools: pas2js: set fixed modeswitches 2022-05-28 19:56:51 +02:00
mattias
4e92b0a028 codetools: removed modeswitch clousers, added functionreferences and anonymousfunctions 2022-05-27 00:17:10 +02:00
Juha
d84f2a9ebd Lazbuild: Suppress verbose output when requested to be quiet. Issue #39752, patch by BugsBeGone. 2022-05-18 00:27:27 +03:00
Martin
2182681a6e Codetools: Add test for code-completion keywords 2022-05-03 21:59:18 +02:00
Martin
3e2872c0f7 CodeTools: remove circular ref for "keywords in code completion" 2022-05-03 21:59:18 +02:00
Martin
396d171d16 Refining the conditions when some of the keywords will be added. 2022-05-03 21:59:17 +02:00
regs01
dcf91fa0b6 Include keywords option 2022-05-03 21:59:17 +02:00
regs01
cb225ab6f1 Keywords in Code Completion list, when auto invoke 2022-05-03 21:59:17 +02:00
Martin
4d12a06af5 CodeTools: Resolve generic params when searching in ancestors. 2022-05-03 02:32:26 +02:00
Martin
599e06f718 CodeTool: Parse packed array params "procedure Foo(bar: packed array of integer)" 2022-05-02 17:44:28 +02:00
Sergey Larin
c78e9a35b8 Support UnderscoreisSeparator modeswitch.
Also ImplicitFunctionSpecialization moved to supported by FPC modeswitches.
2022-04-28 22:41:47 +03:00
mattias
34b3b9a49a IDE: paste text in pascal source: convert unicode spaces to ascii spaces 2022-04-20 23:49:41 +02:00
mattias
5d7bd18469 codetools: less debug 2022-04-16 13:08:41 +02:00
mattias
57c88852ab codetools: fixed complete event assignment keeping spaces after assign operator 2022-04-16 13:08:03 +02:00
mattias
e18dd7be66 codetools: added OnGetClassUnitName 2022-04-16 09:05:50 +02:00
Juha
ae6d20b6a4 Codetools: Add target processor names for SPARC CPU matching the names in FPC. Issue #39692. 2022-03-29 21:42:08 +03:00
Juha
9da44c1c9b Codetools: Do not crash when invoking ident completion on empty editor. Issue #39685. 2022-03-29 19:54:01 +03:00
mattias
e2ad6b3d8d codetools: parse multiline string constant 2022-03-14 16:38:07 +01:00
Martin
12530d0cfe Codetools: Fix testcase. Added "filemask" as long-option, so example invocations from unit TestFindDeclaration will work. 2022-03-11 16:59:30 +01:00
Martin
9007567a5e Codetools: Fix compilation of IFDEFed code. 2022-03-11 16:59:30 +01:00
Martin
de1c148c6e Codetools: Include fdfSearchInAncestors when resolving aliases, specializations or properties. "procedure SearchIdentifier" in "TFindDeclarationTool.FindBaseTypeOfNode". Fix issue #39498
Added test
2022-03-11 16:59:29 +01:00
Martin
0e3c87e83d Codetools: Fix setting "SubParams.Flags" in SearchIdentifier nested in TFindDeclarationTool.FindBaseTypeOfNode.
- "SubParams.Flags" originally copied flags from the outer search (masked with fdfGlobals).
- Before fa76ed282c "SubParams" was named"Params"
- In 2cbc2f4f5a the code was refactored into a subroutine. "Params" became a new local var (with a newly created instance). So "... +(fdfGlobals*Params.Flags);" no longer copied the existing flags.
2022-03-11 16:59:29 +01:00
mattias
4030fcc52c codetools: fixed TSourceLog.Replace 2022-03-09 10:02:26 +01:00
Juha Manninen
62db64ddb8 Merge branch 'codetools-internproc-add' into 'main'
Internproc processing added to CodeTools when modeswitch PrefixedAttributes

See merge request freepascal.org/lazarus/lazarus!73
2022-02-24 13:17:09 +00:00
Juha Manninen
0cec6db9e6 Merge branch 'noinline-noreturn' into 'main'
Updated supported procedure modifiers: noinline, noreturn

See merge request freepascal.org/lazarus/lazarus!72
2022-02-24 12:43:06 +00:00
mattias
26c9421318 updated Makefiles 2022-02-24 12:55:45 +01:00
Sergey Larin
ef53a0ca6e Internproc processing added to CodeTools when modeswitch PrefixedAttributes.
Implemented by analogy with `alias:'name1'` processing.
2022-02-19 14:51:03 +03:00
Sergey Larin
abf2576e8d Updated supported procedure modifiers: noinline, noreturn 2022-02-19 13:16:20 +03:00
Sergey Larin
1a49e68465 Updated the list of intrinsic functions: IsManagedType, IsConstValue 2022-02-19 12:46:48 +03:00
mattias
451ba64bde codetools: added pas2js platforms electorn and module 2022-02-05 16:18:30 +01:00
mattias
8a8bee71f8 codetools: added unitsearch path for ide to debugger 2022-01-30 19:14:45 +01:00
mattias
6183eb288d codetools: clean up 2022-01-26 13:30:42 +01:00
Marcus Sackrow
b22acaab2e codetools: include defines for Amiga-style systems 2022-01-25 18:37:20 +01:00
Juha
dfa66431c4 Codetools: Complete code correctly for "procedure xxx; forward;". Issue #39510, patch by Domingo Galmés. 2022-01-23 12:10:21 +02:00
PeaZomboss
6f8172a61a Codetools: Allow keyword const in generic parameter list. Issue #38087. 2022-01-18 23:51:27 +08:00
mattias
a374f1e5e6 cody: store only if modified 2022-01-17 12:43:55 +01:00
mattias
f97a493801 updated makefiles 2022-01-16 21:42:24 +01:00
Juha
3b0b5e67dd IDE: List different processors for i8086 target. Issue #39565. 2022-01-15 21:05:41 +02:00
Juha
42e38ce991 Revert the assignment ':=' commit. It is useless without the parameter list and fails to work always. Issue #39545. 2022-01-14 13:13:23 +02:00
Juha
2fbce3f5e6 Codetools: Feed UpperKeyword param in PascalReaderTool.PropertyHasSpecifier with uppercase strings. 2022-01-12 17:08:40 +02:00
Juha
86c5fa6b45 IDE: Do not add assignment ':=' after a variable of procedure type. Issue #39545. 2022-01-12 17:08:40 +02:00
Juha
a57cf215d3 Codetools: Update target processor types for x86_64. 2021-12-30 16:35:39 +02:00
mattias
947a183c9c codetools: added boolean8, boolean16, boolean32, boolean64 2021-12-22 23:58:25 +01:00