1. 03 4月, 2017 2 次提交
    • J
      Editor refactor (#2780) · fbf7ea0c
      Jared Hester 提交于
      * split out language service into dedicated dir
      
      * dedicated extensions module
      
      * trim pervasive
      
      * rename constants
      
      * symbols module
      
      * typedastutils module
      
      * FSharpChecker extensions
      
      * rename roslyn helpers
      
      * editor rename cleanup
      
      * fix test renaming
      fbf7ea0c
    • J
      Quickinfo Tooltip and GotoDefinition Navigation Improvements (#2683) · 7360d04b
      Jared Hester 提交于
      * full type name in tooltip, provisional tab preferred
      
      * more entities made navigable
      
      * use IGoToDefinition service
      
      * this is used only here
      
      * MEF import FSharpGotoDefinitionService into QuickInfoProvider
      
      * speed up gotoDefinition
      
      * additional GotoDefn navigation strategies
      
      * quickinfo navigation stays in its lane
      
      tooltip from .fsi links to .fsi
      tooltip from .fs links to .fs
      quick navigation if no redirect is necessary
      
      * fix unittests
      
      * restore recursive matchingDoc
      
      * asynchronous navigation from tooltips
      
      * fix cross project .fs -> .fs and .fsi -> .fsi Navigation
      
      * cleanup and extra documentation
      
      fixed bug in cross project .fs -> .fs navigation
      
      * missed this one
      
      * gotodefinition sig <-> impl at declaration location
      
      * fix async workflow
      
      * animate status bar search and timeout on msgs
      
      * Better links styling
      
      * integrate sig doccoms
      
      * fix error introduced by prior merge
      
      * fixed invalid type access in `getUnusedOpens`
      
      * fix invalid span bug in `symbolIsFullyQualified`
      
      * check if normalized doccom text matches
      
      * cleanup status bar usage
      
      * fix underline pen position, code cleanup and formatting
      
      * do not show links for symbol itself
      7360d04b
  2. 28 3月, 2017 1 次提交
    • V
      All symbols in completion (#2644) · e534e65e
      Vasily Kirichenko 提交于
      * wip
      
      * port Roslyn's C# completion triggering logic as is
      
      * fixed: completion do not trigger at all
      
      * fix position
      
      * fix a test
      
      * do not provide completion on certain places
      
      * fix muting completion on Named(Wild) pat in binding
      
      * do not provide completion on ctor / lambda parameter names + tests
      
      * fix binding traversing in completion
      
      * fix tests
      
      * fix the last failing test
      
      * wip
      
      * wip
      
      * fix compilation
      
      * the list kind of works
      
      * try to add open (fake)
      
      * insert fake open statement
      
      * works for dummy ns insert position
      
      * it works (draft)
      
      * wip
      
      * pass proper namespace to open
      
      * do not suggest operators
      
      prefer already resolvable items
      
      * fix compilation
      
      * fix
      
      * filter out unqualified types if there are same normal ones (UnqualifiedType (tcRef1 :: _) is equal to TType.Type_app (_, tcRef1) is tcRef1 = tcRef2)
      
      * fix compilation
      
      * do not open Microsoft.FSharp.xxx namespaces
      
      add mandatory qualifier, which makes completion works for symbols like `Printf.kprintf`
      
      * fix bugs
      
      * wip
      
      * wip
      
      * Revert "wip"
      
      This reverts commit fe3247e08fccabc00242f658282565f568eb2f3b.
      
      * fixing bugs with RCA modules
      
      * bug fixing
      
      * fix filter text
      
      * optimize completion list sorting
      
      * code cleanup and doc
      
      * defer getting all entities (do not get them after dot completion at all)
      
      * fix compilation
      
      * remove dead code
      
      * rename RawEntity to AssemblySymbol and use FSharpSymbol instead of Item in it
      
      * do not call getAllSymbols unless necessary (now for real)
      
      * AssymblySymbol -> AssemblySymbol
      
      * add completion for keywords
      
      * order completion items by IsResolved property
      
      * add CompletionContext.OpenDeclaration, remove IsAtOpenDeclaration ad-hoc filtering
      
      do not show keywords at open declaration position
      e534e65e
  3. 21 3月, 2017 1 次提交
    • J
      Clickable QuickInfo with "go to type" (#2574) · 13abe6f3
      Jakub Majocha 提交于
      * custom tooltip test
      
      * tagClass augmented
      
      * kinda works
      
      * getting there
      
      * module, alias
      
      * not sure if works
      
      * fix build
      
      * go away!
      
      * parens out
      
      * halleluyah it builds
      
      * blank space on empty doc removed
      
      * more sensible
      
      * handle linked files
      
      * collapse empty TextBlocks
      
      * styling, simple tooltip, handle scripts
      
      * dismiss quickinfo on navigation
      
      * reliably dismiss quickinfo session
      
      * interface instead of boxing
      13abe6f3
  4. 10 3月, 2017 1 次提交
  5. 09 3月, 2017 1 次提交
    • V
      Completion: better glyphs and proper items list ordering (#2532) · 6dde435c
      Vasily Kirichenko 提交于
      * add distinct list for priority completion items (wip)
      
      * Revert "add distinct list for priority completion items (wip)"
      
      This reverts commit a854f2646b682079c83841ac1cdb1595799b1197.
      
      * it works
      
      * smarter completion items ordering
      
      * show type's own instance methods and properties first
      
      * show type's own static methods and properties first
      
      * own IL fields are shown first
      
      * order fields, props, methods, events
      
      refactoring
      
      * simple MRU completion items priority
      
      * fix tests, normalize mru items hints, refactoring
      
      * fix priorities inside mru
      
      * completion items glyphs take accessibility into account, proper glyph for extension members
      
      * fix a test
      
      * fix completion item description ordering regression
      
      * rename GlyphMajor to FSharpGlyph and make it a union instead of enum
      
      remove GlyphMinor
      remove the old navbar and tests
      
      * minimize diff
      
      * make MRU list keyed by Item.FullName instead of DisplayName
      
      fix a bug with emptyArray.max
      
      * fixed: FullNameOfItem throws being called on Item.Types (TType.<anything but TType_app>)
      
      * fixed again: FullNameOfItem throws being called on Item.Types (TType.<anything but TType_app>)
      
      * fix stack overflow
      
      * fix tests
      
      * fix tests
      
      * fix tests
      
      * port rest of the code from priority-in-completion branch
      
      * minimize diff
      
      * fix wrong accessibility in CompletionItem
      6dde435c
  6. 08 3月, 2017 1 次提交
  7. 02 3月, 2017 1 次提交
  8. 01 3月, 2017 2 次提交
    • V
      Quick Info: proper glyphs for namespaces, structures and operators (#2282) · 70ef6987
      Vasily Kirichenko 提交于
      * show proper glyphs for namespaces and structures
      
      * glyphs for literals and delegates
      
      * fix layout for struct records and unions
      
      * proto does not like Option.defaultValue
      
      * show [<Struct>] in layout instead of "struct" for struct records and DUs
      
      * show proper glyph for operators in QuickInfo
      
      * fix test compilation
      
      * layout `Measure` and `Struct` special attributes as types
      
      prettier records layout
      
      * fix a test
      
      * Revert records layout change
      
      * fix TypeChecker
      
      * do not print [<Struct>] for ordinary structures
      70ef6987
    • D
      Add signature file and fix 2498 (#2508) · df1276e1
      Don Syme 提交于
      * add signature file
      
      * fix 2489
      
      * another sig file
      
      * another sig file
      
      * error logger for GetProjectOptionsFromScript
      
      * fix build
      
      * fix build (2)
      df1276e1
  9. 25 2月, 2017 2 次提交
    • J
      fix for #2346 (#2408) · 1e7bb92d
      Jakub Majocha 提交于
      * Disconnect() project only after document closed
      
      * naming
      1e7bb92d
    • V
      Unused opens analyzer (#2477) · 30cd23e6
      Vasily Kirichenko 提交于
      * UnusedOpensDiagnosticAnalyzer
      
      * it works
      
      * remove unused code
      
      refactor
      
      * RemoveUnusedOpens Code Fix
      
      * fix crash on EnclosingEntity
      
      * refactoring
      
      * add Seq.toImmutableArray combinator
      
      * bug fix
      
      handle nested modules
      
      * fixed: it does not work on attributes
      
      remove unused opens
      
      * dog food
      30cd23e6
  10. 22 2月, 2017 1 次提交
  11. 19 2月, 2017 1 次提交
  12. 16 2月, 2017 1 次提交
  13. 13 2月, 2017 2 次提交
  14. 02 2月, 2017 2 次提交
    • V
      Fix quick info for namespaces (#2298) · e76a7c0b
      Vasily Kirichenko 提交于
      * CommonHelpers.getSymbolFromTokens returns full long ident island which is passed to FCS
      
      * fixed: QuickInfo is not shown for trailing ^ operator
      
      fixed: QuickInfo is shown when cursor is beyond symbol at one column to the right
      
      * fix QuickInfoProvider test
      e76a7c0b
    • V
      Better semantic highlighting (#2348) · 4b23b221
      Vasily Kirichenko 提交于
      * wip
      
      * adjust color when color theme changes
      
      * highlight mutable record / struct fields
      
      * remove theme changing listener
      
      * fix typo in a test
      
      * address code review
      
      * black color for functions by default
      
      * try to fix false range for get, set auto properties
      4b23b221
  15. 28 1月, 2017 1 次提交
    • V
      Try to make completion faster (#2315) · 3a688842
      Vasily Kirichenko 提交于
      * use TryGetRecentCheckResultsForFile to get potentially stale file check results
      
      * wip
      
      * make GetDeclarationListInfo "threadSafeOp" instead of "reactorOp"
      
      * make QuickInfo description and signature help synchronous
      
      * Revert "make QuickInfo description and signature help synchronous"
      
      This reverts commit 2f0ad0f39399bb380a4d7a12088549d440f137e9.
      
      * remove reactor ops from FSharpFileCheckResults
      
      * reduce incrementalTypeCheckCacheSize from 5 to 3
      
      refactoring
      
      * Revert "remove reactor ops from FSharpFileCheckResults"
      
      This reverts commit c06858190ddc540bad0bf2a995c5cb133b0f8ec6.
      
      * use incremental file checking
      
      * revert last bits to reactor
      
      * refactor CompletionProvider
      
      * TypeCheckOneFile works incrementally, processing Eventually with Reactor bit-by-bit
      
      * combine CheckOneFile reactor ops into 50 ms slices approx
      
      * pass allowStaleResults explicitly
      
      * make ParseAndCheckInteraction async
      
      * remove CancellationToken from repeatedlyProgressUntilDoneOrTimeShareOver(OrCanceled)
      
      remove explicit CancellationToken from forceAsync
      
      * FSharpChecker.ParseAndCheckDocument tries to get fresh check results for 2 seconds, then uses stale ones, if the caller permits it, then continue waiting for fresh ones, if there is no stale results
      
      * revert cancellation token to repeatedlyProgressUntilDoneOrTimeShareOverOrCanceled
      
      * fix the semaphore
      
      * use Async.StartChild with timeout, which is automatically cancelled by timeout
      
      * refactor ParseAndCheckDocument
      
      * store TcResolutions.CapturedEnvs indexed by line
      
      * remove unnecessary execWithReactorAsync for methods already protected with BackgroundCompiler.locked
      
      * add beingCheckedFileCache
      
      * fix Logging crash in tests
      
      * extract CheckOneFile
      
      * Revert "store TcResolutions.CapturedEnvs indexed by line"
      
      This reverts commit 30c9bcffb73713ad6973f8a64bf196b3a92303c6.
      
      * remove logging
      
      * spin faster
      
      * address code review
      
      * add "VFT_GetFreshFileCheckResultsTimeoutMillis" environment variable to control how much we wait for fresh file type check results until falling to use cached ones
      
      * proper Equals for beingCheckedFileTable
      
      * fixed: CheckFileInProjectIfReady does not call ImplicitlyStartCheckProjectInBackground no matter what, as before
      
      * remove unused parameter from tryGetFreshResultsWithTimeout
      
      * remove logging
      3a688842
  16. 14 1月, 2017 1 次提交
    • V
      Simplify Name analyzer and code fix (#2226) · f50a2ddd
      Vasily Kirichenko 提交于
      * add RemoveQualificationDiagnosticAnalyzer skeleton
      
      * diagnose all symbols as unnecessary
      
      * exclude symbol uses from definition
      
      * add GetVisibleNamespacesAndModulesAtPoint
      
      * return ModuleOrNamespaceRef directly
      
      * call GetVisibleNamespacesAndModulesAtPoint in the analyzer
      
      * the analyzer works
      
      * add Code Fix
      
      * remove plid from code fix title
      
      * use SymbolUse.Symbol.Item to check if it can be resolved
      
      * it works
      
      * fix many bugs
      
      * Fix resources
      
      * fixed: the diagnostic is not returned for single-part plid
      f50a2ddd
  17. 13 1月, 2017 1 次提交
  18. 12 1月, 2017 1 次提交
  19. 09 1月, 2017 2 次提交
  20. 06 1月, 2017 2 次提交
  21. 05 1月, 2017 1 次提交
  22. 04 1月, 2017 3 次提交
  23. 01 1月, 2017 2 次提交
  24. 31 12月, 2016 1 次提交
  25. 30 12月, 2016 3 次提交
  26. 28 12月, 2016 1 次提交
    • A
      Implement interface code fix (#2112) · d11d86ce
      Anh-Dung Phan 提交于
      * Create InterfaceStubGenerator service
      
      * Add a prototype of ImplementInterface code fix
      
      * Fix indentation calculation
      
      * Support both interface declarations and object expressions
      
      * Handle already implemented members
      
      * Localize lightbulb text
      
      * Rename labels
      d11d86ce
  27. 25 12月, 2016 1 次提交
  28. 23 12月, 2016 1 次提交