@@ -1639,6 +1639,264 @@ f('<??>')
1639
1639
}
1640
1640
}
1641
1641
1642
+ TEST [[
1643
+ ---@alias Option string | "AAA" | "BBB" | "CCC"
1644
+ ---@param x Option[]
1645
+ function f(x)
1646
+ end
1647
+
1648
+ f({<??>})
1649
+ ]]
1650
+ {
1651
+ {
1652
+ label = ' "AAA"' ,
1653
+ kind = define .CompletionItemKind .EnumMember ,
1654
+ textEdit = EXISTS
1655
+ },
1656
+ {
1657
+ label = ' "BBB"' ,
1658
+ kind = define .CompletionItemKind .EnumMember ,
1659
+ textEdit = EXISTS
1660
+ },
1661
+ {
1662
+ label = ' "CCC"' ,
1663
+ kind = define .CompletionItemKind .EnumMember ,
1664
+ textEdit = EXISTS
1665
+ }
1666
+ }
1667
+
1668
+ TEST [[
1669
+ ---@alias Option string | "AAA" | "BBB" | "CCC"
1670
+ ---@param x Option[]
1671
+ function f(x)
1672
+ end
1673
+
1674
+ f({"<??>"})
1675
+ ]]
1676
+ {
1677
+ {
1678
+ label = ' "AAA"' ,
1679
+ kind = define .CompletionItemKind .EnumMember ,
1680
+ textEdit = EXISTS
1681
+ },
1682
+ {
1683
+ label = ' "BBB"' ,
1684
+ kind = define .CompletionItemKind .EnumMember ,
1685
+ textEdit = EXISTS
1686
+ },
1687
+ {
1688
+ label = ' "CCC"' ,
1689
+ kind = define .CompletionItemKind .EnumMember ,
1690
+ textEdit = EXISTS
1691
+ }
1692
+ }
1693
+
1694
+ TEST [[
1695
+ ---@alias Option string | "AAA" | "BBB" | "CCC"
1696
+ ---@param x Option[]
1697
+ function f(x)
1698
+ end
1699
+
1700
+ f(<??>)
1701
+ ]]
1702
+ (nil )
1703
+
1704
+ TEST [[
1705
+ ---@alias Option "AAA" | "BBB" | "CCC"
1706
+
1707
+ ---@type Option[]
1708
+ local l = {<??>}
1709
+ ]]
1710
+ {
1711
+ {
1712
+ label = ' "AAA"' ,
1713
+ kind = define .CompletionItemKind .EnumMember ,
1714
+ },
1715
+ {
1716
+ label = ' "BBB"' ,
1717
+ kind = define .CompletionItemKind .EnumMember ,
1718
+ },
1719
+ {
1720
+ label = ' "CCC"' ,
1721
+ kind = define .CompletionItemKind .EnumMember ,
1722
+ }
1723
+ }
1724
+
1725
+ TEST [[
1726
+ ---@alias Option "AAA" | "BBB" | "CCC"
1727
+
1728
+ ---@type Option[]
1729
+ local l = {"<??>"}
1730
+ ]]
1731
+ {
1732
+ {
1733
+ label = ' "AAA"' ,
1734
+ kind = define .CompletionItemKind .EnumMember ,
1735
+ textEdit = EXISTS
1736
+ },
1737
+ {
1738
+ label = ' "BBB"' ,
1739
+ kind = define .CompletionItemKind .EnumMember ,
1740
+ textEdit = EXISTS
1741
+ },
1742
+ {
1743
+ label = ' "CCC"' ,
1744
+ kind = define .CompletionItemKind .EnumMember ,
1745
+ textEdit = EXISTS
1746
+ }
1747
+ }
1748
+
1749
+ TEST [[
1750
+ ---@alias Option "AAA" | "BBB" | "CCC"
1751
+
1752
+ ---@type Option[]
1753
+ local l = <??>
1754
+ ]]
1755
+ (nil )
1756
+
1757
+ TEST [[
1758
+ ---@class OptionObj
1759
+ ---@field a boolean
1760
+ ---@field b boolean
1761
+
1762
+ ---@type OptionObj[]
1763
+ local l = { {<??>} }
1764
+ ]]
1765
+ {
1766
+ {
1767
+ label = ' a' ,
1768
+ kind = define .CompletionItemKind .Property ,
1769
+ },
1770
+ {
1771
+ label = ' b' ,
1772
+ kind = define .CompletionItemKind .Property ,
1773
+ }
1774
+ }
1775
+
1776
+ TEST [[
1777
+ ---@class OptionObj
1778
+ ---@field a boolean
1779
+ ---@field b boolean
1780
+
1781
+ ---@type OptionObj[]
1782
+ local l = { <??> }
1783
+ ]]
1784
+ (nil )
1785
+
1786
+ TEST [[
1787
+ ---@class OptionObj
1788
+ ---@field a boolean
1789
+ ---@field b boolean
1790
+
1791
+ ---@type OptionObj[]
1792
+ local l = <??>
1793
+ ]]
1794
+ (nil )
1795
+
1796
+ TEST [[
1797
+ ---@class OptionObj
1798
+ ---@field a boolean
1799
+ ---@field b boolean
1800
+ ---@field children OptionObj[]
1801
+
1802
+ ---@type OptionObj[]
1803
+ local l = {
1804
+ {
1805
+ a = true,
1806
+ children = { {<??>} }
1807
+ }
1808
+ }
1809
+ ]]
1810
+ {
1811
+ {
1812
+ label = ' a' ,
1813
+ kind = define .CompletionItemKind .Property ,
1814
+ },
1815
+ {
1816
+ label = ' b' ,
1817
+ kind = define .CompletionItemKind .Property ,
1818
+ },
1819
+ {
1820
+ label = ' children' ,
1821
+ kind = define .CompletionItemKind .Property ,
1822
+ }
1823
+ }
1824
+
1825
+ TEST [[
1826
+ ---@class OptionObj
1827
+ ---@field a boolean
1828
+ ---@field b boolean
1829
+ ---@field children OptionObj[]
1830
+
1831
+ ---@type OptionObj[]
1832
+ local l = {
1833
+ {
1834
+ children = {<??>}
1835
+ }
1836
+ }
1837
+ ]]
1838
+ (nil )
1839
+
1840
+ TEST [[
1841
+ ---@class OptionObj
1842
+ ---@field a boolean
1843
+ ---@field b boolean
1844
+ ---@field children OptionObj[]
1845
+
1846
+ ---@type OptionObj[]
1847
+ local l = {
1848
+ {
1849
+ children = <??>
1850
+ }
1851
+ }
1852
+ ]]
1853
+ (nil )
1854
+
1855
+ TEST [[
1856
+ ---@class OptionObj
1857
+ ---@field a boolean
1858
+ ---@field b boolean
1859
+ ---@param x OptionObj[]
1860
+ function f(x)
1861
+ end
1862
+
1863
+ f({ {<??>} })
1864
+ ]]
1865
+ {
1866
+ {
1867
+ label = ' a' ,
1868
+ kind = define .CompletionItemKind .Property ,
1869
+ },
1870
+ {
1871
+ label = ' b' ,
1872
+ kind = define .CompletionItemKind .Property ,
1873
+ }
1874
+ }
1875
+
1876
+ TEST [[
1877
+ ---@class OptionObj
1878
+ ---@field a boolean
1879
+ ---@field b boolean
1880
+ ---@param x OptionObj[]
1881
+ function f(x)
1882
+ end
1883
+
1884
+ f({<??>})
1885
+ ]]
1886
+ (nil )
1887
+
1888
+ TEST [[
1889
+ ---@class OptionObj
1890
+ ---@field a boolean
1891
+ ---@field b boolean
1892
+ ---@param x OptionObj[]
1893
+ function f(x)
1894
+ end
1895
+
1896
+ f(<??>)
1897
+ ]]
1898
+ (nil )
1899
+
1642
1900
TEST [[
1643
1901
---this is
1644
1902
---a multi line
0 commit comments