-
Notifications
You must be signed in to change notification settings - Fork 18
Description
I have an issue where go to definition doesn't work on classes and files. I compared it to VSCode which works similarly if it doesn't run the recipe parsing. So I can hover on inherit and get info about it, but if you go to definition on a class nothing happens. After scanning in VSCode it works as expected in VSCode. Neovim doesn't appear to do any recipe parsing which maybe is the issue.
I have set it up using mason and lspconfig. Excerpt of my config (using lazy.nvim, config based on kickstart.nvim, excluded some parts):
{
-- Main LSP Configuration
'neovim/nvim-lspconfig',
lazy = false,
dependencies = {
-- Automatically install LSPs and related tools to stdpath for Neovim
{ 'williamboman/mason.nvim', config = true }, -- NOTE: Must be loaded before dependants
'williamboman/mason-lspconfig.nvim',
'WhoIsSethDaniel/mason-tool-installer.nvim',
-- Useful status updates for LSP.
-- NOTE: `opts = {}` is the same as calling `require('fidget').setup({})`
{ 'j-hui/fidget.nvim', opts = {} },
-- Allows extra capabilities provided by nvim-cmp
'hrsh7th/cmp-nvim-lsp',
},
config = function()
require('mason').setup()
-- you can add other tools here that you want mason to install
-- for you, so that they are available from within neovim.
local ensure_installed = vim.tbl_keys(servers or {})
vim.list_extend(ensure_installed, {
'stylua', -- used to format lua code
})
require('mason-tool-installer').setup { ensure_installed = ensure_installed }
require('mason-lspconfig').setup {
handlers = {
function(server_name)
local server = servers[server_name] or {}
-- this handles overriding only values explicitly passed
-- by the server configuration above. useful when disabling
-- certain features of an lsp (for example, turning off formatting for ts_ls)
server.capabilities = vim.tbl_deep_extend('force', {}, capabilities, server.capabilities or {})
require('lspconfig')[server_name].setup(server)
end,
},
}
-- add servers not supported by mason-lspconfig
require('lspconfig').bitbake_ls.setup {
root_dir = vim.fn.getcwd(),
settings = {
bitbake = {
pathtobuildfolder = '/mnt/build/prod/build/',
pathtoenvscript = '/mnt/build/prod/oe-init-build-env',
pathtobitbakefolder = '/mnt/build/prod/bitbake',
workingdirectory = '/mnt/build/prod/',
},
},
}
end,
And I can see it launches the server when I use LspInfo:
lspconfig: require("lspconfig.health").check()
LSP configs active in this session (globally) ~
- Configured servers: rust_analyzer, bashls, fortls, lua_ls, eslint, clangd, vtsls, bitbake_ls, asm_lsp
- OK Deprecated servers: (none)
LSP configs active in this buffer (bufnr: 4) ~
- Language client log: ~/.local/state/nvim/lsp.log
- Detected filetype: `bitbake`
- 1 client(s) attached to this buffer
- Client: `bitbake_ls` (id: 1, bufnr: [4])
root directory: /mnt/build/prod/
filetypes: bitbake
cmd: ~/.local/share/nvim/mason/bin/language-server-bitbake --stdio
version: `?` (Failed to get version)
executable: true
autostart: true
Docs for active configs: ~
- bitbake_ls docs: >markdown
https://github.com/yoctoproject/vscode-bitbake/tree/staging/server
https://www.npmjs.com/package/language-server-bitbake
Official Bitbake Language Server for the Yocto Project.
Can be installed from npm or github.
npm install -g language-server-bitbake
When viewing LspLog with debugging on it looks like the client does request dfinition but gets an empty result in the response. So it probably has to do with recipe parsing?
LspLog:
[START][2025-01-08 11:49:25] LSP logging initiated
[INFO][2025-01-08 11:49:25] .../vim/lsp/rpc.lua:731 "Starting RPC client" { cmd = { "/home/username/.local/share/nvim/mason/bin/language-server-bitbake", "--stdio" }, extra = { cwd = "/mnt/build/prod" }}
[DEBUG][2025-01-08 11:49:25] .../vim/lsp/rpc.lua:286 "rpc.send" { id = 1, jsonrpc = "2.0", method = "initialize", params = { capabilities = { general = { positionEncodings = { "utf-16" } }, textDocument = { callHierarchy = { dynamicRegistration = false }, codeAction = { codeActionLiteralSupport = { codeActionKind = { valueSet = { "", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports" } } }, dataSupport = true, dynamicRegistration = true, isPreferredSupport = true, resolveSupport = { properties = { "edit" } } }, completion = { completionItem = { commitCharactersSupport = false, deprecatedSupport = false, documentationFormat = { "markdown", "plaintext" }, preselectSupport = false, snippetSupport = false }, completionItemKind = { valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 } }, completionList = { itemDefaults = { "editRange", "insertTextFormat", "insertTextMode", "data" } }, contextSupport = false, dynamicRegistration = false }, declaration = { linkSupport = true }, definition = { dynamicRegistration = true, linkSupport = true }, diagnostic = { dynamicRegistration = false }, documentHighlight = { dynamicRegistration = false }, documentSymbol = { dynamicRegistration = false, hierarchicalDocumentSymbolSupport = true, symbolKind = { valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 } } }, formatting = { dynamicRegistration = true }, hover = { contentFormat = { "markdown", "plaintext" }, dynamicRegistration = true }, implementation = { linkSupport = true }, inlayHint = { dynamicRegistration = true, resolveSupport = { properties = { "textEdits", "tooltip", "location", "command" } } }, publishDiagnostics = { dataSupport = true, relatedInformation = true, tagSupport = { valueSet = { 1, 2 } } }, rangeFormatting = { dynamicRegistration = true }, references = { dynamicRegistration = false }, rename = { dynamicRegistration = true, prepareSupport = true }, semanticTokens = { augmentsSyntaxTokens = true, dynamicRegistration = false, formats = { "relative" }, multilineTokenSupport = false, overlappingTokenSupport = true, requests = { full = { delta = true }, range = false }, serverCancelSupport = false, tokenModifiers = { "declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary" }, tokenTypes = { "namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator" } }, signatureHelp = { dynamicRegistration = false, signatureInformation = { activeParameterSupport = true, documentationFormat = { "markdown", "plaintext" }, parameterInformation = { labelOffsetSupport = true } } }, synchronization = { didSave = true, dynamicRegistration = false, willSave = true, willSaveWaitUntil = true }, typeDefinition = { linkSupport = true } }, window = { showDocument = { support = true }, showMessage = { messageActionItem = { additionalPropertiesSupport = false } }, workDoneProgress = true }, workspace = { applyEdit = true, configuration = true, didChangeConfiguration = { dynamicRegistration = false }, didChangeWatchedFiles = { dynamicRegistration = false, relativePatternSupport = true }, inlayHint = { refreshSupport = true }, semanticTokens = { refreshSupport = true }, symbol = { dynamicRegistration = false, symbolKind = { valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 } } }, workspaceEdit = { resourceOperations = { "rename", "create", "delete" } }, workspaceFolders = true } }, clientInfo = { name = "Neovim", version = "0.10.1+g7e194f0d0" }, initializationOptions = vim.empty_dict(), processId = 3876001, rootPath = "/mnt/build/prod", rootUri = "file:///mnt/build/prod", trace = "off", workDoneToken = "1", workspaceFolders = { { name = "/mnt/build/prod", uri = "file:///mnt/build/prod" } } }}
[DEBUG][2025-01-08 11:49:25] .../vim/lsp/rpc.lua:408 "rpc.receive" { id = 1, jsonrpc = "2.0", result = { capabilities = { completionProvider = { resolveProvider = true, triggerCharacters = { ":", "[" } }, definitionProvider = true, hoverProvider = true, referencesProvider = true, renameProvider = { prepareProvider = true }, semanticTokensProvider = { full = true, legend = { tokenModifiers = { "declaration", "deprecated", "modification", "readonly" }, tokenTypes = { "function", "variable", "parameter", "class", "number", "operator", "string", "keyword" } } }, textDocumentSync = 2, workspace = { fileOperations = { didCreate = { filters = { { pattern = { glob = "**/*" }, scheme = "file" } } }, didDelete = { filters = { { pattern = { glob = "**/*" }, scheme = "file" } } }, didRename = { filters = { { pattern = { glob = "**/*" }, scheme = "file" } } } } } } }}
[DEBUG][2025-01-08 11:49:25] .../vim/lsp/rpc.lua:286 "rpc.send" { jsonrpc = "2.0", method = "initialized", params = vim.empty_dict()}
[DEBUG][2025-01-08 11:49:25] .../vim/lsp/rpc.lua:286 "rpc.send" { jsonrpc = "2.0", method = "workspace/didChangeConfiguration", params = { settings = { bitbake = { pathToBitbakeFolder = "/mnt/build/prod/bitbake", pathToBuildFolder = "/mnt/build/prod/build/", pathToEnvScript = "/mnt/build/prod/oe-init-build-env", workingDirectory = "/mnt/build/prod/" } } }}
[DEBUG][2025-01-08 11:49:25] .../vim/lsp/rpc.lua:286 "rpc.send" { jsonrpc = "2.0", method = "textDocument/didOpen", params = { textDocument = { languageId = "bitbake", text = "require automake.inc\nLICENSE = \"GPL-2.0-only\"\nLIC_FILES_CHKSUM = \"file://COPYING;md5=751419260aa954499f7abaabaa882bbe\"\nDEPENDS:class-native = \"autoconf-native\"\n\nNAMEVER = \"${@oe.utils.trim_version(\"${PV}\", 2)}\"\n\nRDEPENDS:${PN} += \"\\\n autoconf \\\n perl \\\n perl-module-bytes \\\n perl-module-data-dumper \\\n perl-module-strict \\\n perl-module-text-parsewords \\\n perl-module-thread-queue \\\n perl-module-threads \\\n perl-module-vars \"\n\nRDEPENDS:${PN}:class-native = \"autoconf-native hostperl-runtime-native\"\n\nSRC_URI += \"\\\n file://0001-automake-Update-for-python.m4-to-respect-libdir.patch \\\n file://buildtest.patch \\\n file://performance.patch \\\n file://new_rt_path_for_test-driver.patch \\\n file://0001-automake-Add-default-libtool_tag-to-cppasm.patch \\\n file://0001-build-fix-race-in-parallel-builds.patch \\\n file://0001-Drop-ar-u-argument.patch \\\n \"\n\nSRC_URI[sha256sum] = \"07bd24ad08a64bc17250ce09ec56e921d6343903943e99ccf63bbf0705e34605\"\n\nPERL = \"${USRBINPATH}/perl\"\nPERL:class-native = \"${USRBINPATH}/env perl\"\nPERL:class-nativesdk = \"${USRBINPATH}/env perl\"\n\nCACHED_CONFIGUREVARS += \"ac_cv_path_PERL='${PERL}'\"\n\ndo_install:append () {\n install -d ${D}${datadir}\n}\n\nBBCLASSEXTEND = \"native nativesdk\"\n", uri = "file:///mnt/build/prod/poky/meta/recipes-devtools/automake/automake_1.16.5.bb", version = 0 } }}
[INFO][2025-01-08 11:49:25] ...m/lsp/client.lua:620 "LSP[bitbake_ls]" "server_capabilities" { server_capabilities = { completionProvider = { resolveProvider = true, triggerCharacters = { ":", "[" } }, definitionProvider = true, hoverProvider = true, referencesProvider = true, renameProvider = { prepareProvider = true }, semanticTokensProvider = { full = true, legend = { tokenModifiers = { "declaration", "deprecated", "modification", "readonly" }, tokenTypes = { "function", "variable", "parameter", "class", "number", "operator", "string", "keyword" } } }, textDocumentSync = { change = 2, openClose = true, save = { includeText = false }, willSave = false, willSaveWaitUntil = false }, workspace = { fileOperations = { didCreate = { filters = { { pattern = { glob = "**/*" }, scheme = "file" } } }, didDelete = { filters = { { pattern = { glob = "**/*" }, scheme = "file" } } }, didRename = { filters = { { pattern = { glob = "**/*" }, scheme = "file" } } } } } }}
[DEBUG][2025-01-08 11:49:25] ...m/lsp/client.lua:678 "LSP[bitbake_ls]" "client.request" 1 "textDocument/semanticTokens/full" { textDocument = { uri = "file:///mnt/build/prod/poky/meta/recipes-devtools/automake/automake_1.16.5.bb" }} <function 1> 4
[DEBUG][2025-01-08 11:49:25] .../vim/lsp/rpc.lua:286 "rpc.send" { id = 2, jsonrpc = "2.0", method = "textDocument/semanticTokens/full", params = { textDocument = { uri = "file:///mnt/build/prod/poky/meta/recipes-devtools/automake/automake_1.16.5.bb" } }}
[DEBUG][2025-01-08 11:49:25] .../vim/lsp/rpc.lua:408 "rpc.receive" { jsonrpc = "2.0", method = "bitbake/EmbeddedLanguageDocs", params = { { { characterIndexes = { 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556 }, content = "#!/bin/sh\n\n# Original BitBake document: file:///mnt/build/prod/poky/meta/recipes-devtools/automake/automake_1.16.5.bb\n# shellcheck disable=SC2317\n. /mnt/build/prod/meta/classes-global/logging.bbclass\n. /mnt/build/prod/meta/classes-global/base.bbclass\n \n \n \n \n\n \n\n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n \n \n \n \n \n \n \n\n \n\n \n \n \n\n \n\ndo_install () {\n install -d ${D}${datadir}\n}\n\n \n", language = "bash", originalUri = "file:///mnt/build/prod/poky/meta/recipes-devtools/automake/automake_1.16.5.bb" }, { characterIndexes = { 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822 }, content = '# Original BitBake document: file:///mnt/build/prod/poky/meta/recipes-devtools/automake/automake_1.16.5.bb\nimport bb, bb.build, bb.compress.zstd, bb.data, bb.data_smart, bb.event, bb.fetch2, bb.parse, bb.persist_data, bb.process, bb.progress, bb.runqueue, bb.siggen, bb.utils\nimport oe.data, oe.path, oe.utils, oe.types, oe.package, oe.packagegroup, oe.sstatesig, oe.lsb, oe.cachedpath, oe.license, oe.qa, oe.reproducible, oe.rust, oe.buildcfg\nd = bb.data_smart.DataSmart()\ne = bb.event.Event()\ne.data = d\nimport os\n \n \n \n \n\n \n\noe.utils.trim_version("${PV}", 2)\n \n\n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n \n \n \n \n \n \n \n\n \n\n \n \n \n\n \n\n \n \n \n\n \n', language = "python", originalUri = "file:///mnt/build/prod/poky/meta/recipes-devtools/automake/automake_1.16.5.bb" } } }}
[DEBUG][2025-01-08 11:49:25] .../vim/lsp/rpc.lua:408 "rpc.receive" { jsonrpc = "2.0", method = "textDocument/publishDiagnostics", params = { diagnostics = {}, uri = "file:///mnt/build/prod/poky/meta/recipes-devtools/automake/automake_1.16.5.bb" }}
[DEBUG][2025-01-08 11:49:25] .../vim/lsp/rpc.lua:408 "rpc.receive" { id = 0, jsonrpc = "2.0", method = "bitbake/getRecipeLocalFiles", params = { uri = "/mnt/build/prod/poky/meta/recipes-devtools/automake/automake_1.16.5.bb" }}
[DEBUG][2025-01-08 11:49:25] .../vim/lsp/rpc.lua:408 "rpc.receive" { id = 2, jsonrpc = "2.0", result = { data = { 1, 0, 7, 1, 1, 1, 0, 16, 1, 1, 1, 0, 7, 1, 1, 0, 8, 12, 5, 8, 2, 0, 7, 1, 1, 2, 0, 8, 1, 1, 0, 11, 2, 1, 1, 11, 0, 8, 1, 1, 0, 11, 2, 1, 1, 0, 4, 12, 5, 8, 2, 0, 7, 1, 1, 10, 0, 7, 1, 1, 2, 0, 4, 1, 1, 0, 10, 10, 1, 1, 1, 0, 4, 1, 1, 0, 5, 12, 5, 8, 0, 18, 10, 1, 1, 1, 0, 4, 1, 1, 0, 5, 15, 5, 8, 0, 21, 10, 1, 1, 2, 0, 20, 1, 1, 0, 44, 4, 1, 1, 2, 0, 10, 0, 1, 0, 11, 6, 7, 0, 1, 4, 7, 0, 0, 0, 13, 1, 1, 0, 0, 4, 7, 1, 0, 3, 0, 13, 1, 1 }, resultId = "1736333365094" }}
[WARN][2025-01-08 11:49:25] ...m/lsp/client.lua:1025 "server_request: no handler found for" "bitbake/getRecipeLocalFiles"
[DEBUG][2025-01-08 11:49:25] .../vim/lsp/rpc.lua:423 "server_request: callback result" { err = { code = -32601, message = "MethodNotFound", <metatable> = { __tostring = <function 1> } }, status = true}
[DEBUG][2025-01-08 11:49:25] .../vim/lsp/rpc.lua:286 "rpc.send" { error = { code = -32601, message = "MethodNotFound", <metatable> = { __tostring = <function 1> } }, id = 0, jsonrpc = "2.0"}
[DEBUG][2025-01-08 11:49:32] ...m/lsp/client.lua:678 "LSP[bitbake_ls]" "client.request" 1 "textDocument/hover" { position = { character = 0, line = 0 }, textDocument = { uri = "file:///mnt/build/prod/poky/meta/recipes-devtools/automake/automake_1.16.5.bb" }} <function 1> 4
[DEBUG][2025-01-08 11:49:32] .../vim/lsp/rpc.lua:286 "rpc.send" { id = 3, jsonrpc = "2.0", method = "textDocument/hover", params = { position = { character = 0, line = 0 }, textDocument = { uri = "file:///mnt/build/prod/poky/meta/recipes-devtools/automake/automake_1.16.5.bb" } }}
[DEBUG][2025-01-08 11:49:32] .../vim/lsp/rpc.lua:408 "rpc.receive" { id = 3, jsonrpc = "2.0", result = { contents = { kind = "markdown", value = "**require**\n___\nBitBake understands the require directive. This directive behaves just like the include directive with the exception that BitBake raises a parsing error if the file to be included cannot be found. Thus, any file you require is inserted into the file that is being parsed at the location of the directive. \n\nThe require directive, like the include directive previously described, is a more generic method of including functionality as compared to the inherit directive, which is restricted to class (i.e. .bbclass) files. The require directive is applicable for any other kind of shared or encapsulated functionality or configuration that does not suit a .bbclass file. \n\nSimilar to how BitBake handles include, if the path specified on the require line is a relative path, BitBake locates the first file it can find within BBPATH. \n\nAs an example, suppose you have two versions of a recipe (e.g. foo_1.2.2.bb and foo_2.0.0.bb) where each version contains some identical functionality that could be shared. You could create an include file named foo.inc that contains the common definitions needed to build “foo”. You need to be sure foo.inc is located in the same directory as your two recipe files as well. Once these conditions are set up, you can share the functionality using a require directive from within each recipe: \n ```require foo.inc```" } }}
[DEBUG][2025-01-08 11:49:40] ...m/lsp/client.lua:678 "LSP[bitbake_ls]" "client.request" 1 "textDocument/hover" { position = { character = 8, line = 0 }, textDocument = { uri = "file:///mnt/build/prod/poky/meta/recipes-devtools/automake/automake_1.16.5.bb" }} <function 1> 4
[DEBUG][2025-01-08 11:49:40] .../vim/lsp/rpc.lua:286 "rpc.send" { id = 4, jsonrpc = "2.0", method = "textDocument/hover", params = { position = { character = 8, line = 0 }, textDocument = { uri = "file:///mnt/build/prod/poky/meta/recipes-devtools/automake/automake_1.16.5.bb" } }}
[DEBUG][2025-01-08 11:49:40] .../vim/lsp/rpc.lua:408 "rpc.receive" { id = 4, jsonrpc = "2.0"}
[DEBUG][2025-01-08 11:49:43] ...m/lsp/client.lua:678 "LSP[bitbake_ls]" "client.request" 1 "textDocument/definition" { position = { character = 8, line = 0 }, textDocument = { uri = "file:///mnt/build/prod/poky/meta/recipes-devtools/automake/automake_1.16.5.bb" }} <function 1> 4
[DEBUG][2025-01-08 11:49:43] .../vim/lsp/rpc.lua:286 "rpc.send" { id = 5, jsonrpc = "2.0", method = "textDocument/definition", params = { position = { character = 8, line = 0 }, textDocument = { uri = "file:///mnt/build/prod/poky/meta/recipes-devtools/automake/automake_1.16.5.bb" } }}
[DEBUG][2025-01-08 11:49:43] .../vim/lsp/rpc.lua:408 "rpc.receive" { id = 5, jsonrpc = "2.0", result = {}}