Is it possible to Doxygen to generate calls to a functions that are out of INPUT scope? (For C language)
I mean, lets assume following code:
#include <someHeader.h>
void func(void)
{
functionFromHeader();
}
I would like to have functionFromHeader listed in references field within the generated field, even if the someHeader.h is not listed in INPUT field in config file.
Is there any config that could generate such calls?
EDIT:
Version of doxygen: 1.8.15
Configuration elements changed due default config:
OPTIMIZE_OUTPUT_FOR_C = YES
EXTRACT_ALL = YES
EXTRACT_PRIVATE = YES
EXTRACT_STATIC = YES
EXTRACT_LOCAL_METHODS = YES
HIDE_UNDOC_MEMBERS = YES
STRICT_PROTO_MATCHING = YES
WARN_LOGFILE = warn.log
RECURSIVE = YES
SOURCE_BROWSER = YES
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = YES
GENERATE_TREEVIEW = YES
GENERATE_LATEX = NO
GENERATE_XML = YES
MACRO_EXPANSION = YES
INCLUDE_PATH = somePath
SKIP_FUNCTION_MACROS = NO
GENERATE_TAGFILE = YES
CLASS_DIAGRAMS = NO
HIDE_UNDOC_RELATIONS = NO
CALL_GRAPH = YES
CALLER_GRAPH = YES
DOT_PATH = .\graphviz\bin\
DOTFILE_DIRS = .\dots
DOT_GRAPH_MAX_NODES = 10000
MAX_DOT_GRAPH_DEPTH = 1
DOT_CLEANUP = NO
Related
I have a function something like below. I run doxygen -d Preprocessor and check the preprocessed code and function2() is excluded. However, I still see the function2() in the call graph.
Configuration
Doxygen version: 1.9.1 (ef9b20ac7f8a8621fcfc299f8bd0b80422390f4b)
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
CALL_GRAPH = YES
HAVE_DOT = YES
EXTRACT_ALL = YES
EXTRACT_PRIVATE = YES
EXTRACT_STATIC = YES
EXTRACT_ANON_NSPACES = YES
Function
void function(void)
{
function1();
#ifdef filtered
function2();
#endif
}
Fzf.vim implements a fuzzy finder in insert mode, extending the native ins-completion functionality.
For example: in insert mode, we can map <c-x><c-f> to enable Fzf.vim to fuzzy find and insert file names with relative paths (fzf-complete-path). The same functionalities are implemented for words (fzf-complete-word) and lines (fzf-complete-line) completions.
Here are the Fzf.vim mapping example of these functions:
" Insert mode completion
imap <c-x><c-k> <plug>(fzf-complete-word)
imap <c-x><c-f> <plug>(fzf-complete-path)
imap <c-x><c-l> <plug>(fzf-complete-line)
How can I set the same behavior with Telescope.nvim?
You can define a custom action and map it to a key to execute it in Telescope.
I've written a set of actions for this task (to insert file paths in the current buffer): telescope-insert-path.nvim
You just need to make your custom mappings in the require'telescope'.setup().
local path_actions = require('telescope_insert_path')
require('telescope').setup {
defaults = {
mappings = {
n = {
["pi"] = path_actions.insert_relpath_i_insert,
["pI"] = path_actions.insert_relpath_I_insert,
["pa"] = path_actions.insert_relpath_a_insert,
["pA"] = path_actions.insert_relpath_A_insert,
["po"] = path_actions.insert_relpath_o_insert,
["pO"] = path_actions.insert_relpath_O_insert,
["Pi"] = path_actions.insert_abspath_i_insert,
["PI"] = path_actions.insert_abspath_I_insert,
["Pa"] = path_actions.insert_abspath_a_insert,
["PA"] = path_actions.insert_abspath_A_insert,
["Po"] = path_actions.insert_abspath_o_insert,
["PO"] = path_actions.insert_abspath_O_insert,
["<leader>pi"] = path_actions.insert_relpath_i_visual,
["<leader>pI"] = path_actions.insert_relpath_I_visual,
["<leader>pa"] = path_actions.insert_relpath_a_visual,
["<leader>pA"] = path_actions.insert_relpath_A_visual,
["<leader>po"] = path_actions.insert_relpath_o_visual,
["<leader>pO"] = path_actions.insert_relpath_O_visual,
["<leader>Pi"] = path_actions.insert_abspath_i_visual,
["<leader>PI"] = path_actions.insert_abspath_I_visual,
["<leader>Pa"] = path_actions.insert_abspath_a_visual,
["<leader>PA"] = path_actions.insert_abspath_A_visual,
["<leader>Po"] = path_actions.insert_abspath_o_visual,
["<leader>PO"] = path_actions.insert_abspath_O_visual,
-- Additionally, there's normal mode mappings for the same actions:
-- ["<leader><leader>pi"] = path_actions.insert_relpath_i_normal,
-- ...
}
}
}
}
Hi in my Constants I have declared a constant
PATH_TO = user_vorlagen
All ok this is the result:
in Setup:
file = Resources/Private/Partials/{$PATH_TO}/landingpage
/LANDINGPAGE_Footer.html
This works the path is correctly rendered:
file = Resources/Private/Partials/user_vorlagen/landingpage/LANDINGPAGE_Footer.html
Now my question: i want change this and use a fe_users field {TSFE:fe_user|user|lockToDomain}.
This gives me the correct result in debug "user_vorlagen", but if I inserted in path
file = Resources/Private/Partials/{TSFE:fe_user|user|lockToDomain}/landingpage...
It doesn't work.
I try file.inserData=1
someone can give me a hint?
The .insertData = 1 functionality is only available in TypoScript objects with stdWrap support and I don't think that the file is supporting that.
Either try:
file = TEXT
file.value = Resources/Private/Partials/{TSFE:fe_user|user|lockToDomain}/landingpage
file.insertData = 1
Or use PHP to insert that variable.
It must work in this context.
lib.MAIL_WRAP = FLUIDTEMPLATE
lib.MAIL_WRAP {
#stdWrap.editPanel = 1
#stdWrap.editPanel.allow = move, edit, hide, new
file = Resources/Private/Partials/{$USER_PATH_MAILINGS}/mail/MAIL_wrap.html
dataProcessing {
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
10.references {
table = tt_content
uid.field = uid
fieldName = assets
}
}
}
I recently made some changes in the VBA of a form, and now the Details section of the Form in Form view loads blank. I can see the header, and the number of records is listed at the bottom, but the Details section now loads blank. My assumption then is that the VBA code cause this to happen, as I changed no form settings.
I had done some trouble shooting in adding some new functions to an area of the form. Everything went fine. I then duplicated the code I used and modified it to do the same thing for a different part of the form. For context, this form is just a Review Page, it pulls data from several tables into a summary page. This hasn't been an issue before, and I confirmed with my back up that all the setting are the same, and the back-up does not have this issue. The only difference in the backup and this current form is added controls and command buttons, and some VBA. Yet the back-up loads correctly, and my new file does not. I have copied the VBA below in case something sticks out to you all that may because the issue. I did add to the VBA in the Form Load and Current sections, but it was just a duplication of code that was already there. I copied the code referencing Software and SW to say Hardware and HW. I'm not sure why that may be causing an issue. All code referencing Software was tested and worked satisfactorily, so I duplicated it all for Hardware. Somewhere in that lies the problem. I have copied all of the VBA for the entire form. Sorry for the length, but I thought it could be informative. You may notice sloppy work or inefficient use of code, as I am still new to this, but hopefully it makes sense. If I can clarify anything or explain what I was trying to accomplish with a particular function, please don't hesitate.
I greatly appreciate any assistance.
Option Compare Database
Private Sub cmdAddSWRev_Click()
Me.lstSWRevAdd.Visible = True
Me.lstSWRevDateAdd.Visible = True
Me.lstSWRevNotesAdd.Visible = True
Me.lblSwRevAdd.Visible = True
Me.lblSWRevDateAdd.Visible = True
Me.lblSWRevNotesAdd.Visible = True
Me.lstSWRev.Visible = False
Me.lstSWRevDate.Visible = False
Me.lstSWRevNotes.Visible = False
Me.lblSWRev.Visible = False
Me.lblSWRevDate.Visible = False
Me.lblSWRevNotes.Visible = False
Me.cmdSaveSWRev.Visible = True
End Sub
Private Sub cmdHWRevAdd_Click()
Me.lstHWRevAdd.Visible = True
Me.lstHWRevDateAdd.Visible = True
Me.lstHWRevNotesAdd.Visible = True
Me.lblHWRevAdd.Visible = True
Me.lblHWRevDateAdd.Visible = True
Me.lblHWRevNotesAdd.Visible = True
Me.lstHWRev.Visible = False
Me.lstHWRevDate.Visible = False
Me.lstHWRevNotes.Visible = False
Me.lblHWRev.Visible = False
Me.lblHWRevDate.Visible = False
Me.lblHWRevNotes.Visible = False
Me.cmdSaveHWRev.Visible = True
End Sub
Private Sub cmdSaveSWRev_Click()
'Create an entry in Software Revisions
Dim SerialNumberDatabase As DAO.Database
Dim tblSoftwareRevisions As DAO.Recordset
Set SerialNumberDatabase = CurrentDb
Set tblSoftwareRevisions = SerialNumberDatabase.OpenRecordset("tblSoftwareRevisions")
tblSoftwareRevisions.AddNew
tblSoftwareRevisions("SoftwareRevision").Value = Me.lstSWRevAdd
tblSoftwareRevisions("Assembly").Value = Me.PartNumber_tblUnits
tblSoftwareRevisions("SWRevDate").Value = Me.lstSWRevDateAdd
tblSoftwareRevisions("Notes").Value = Me.lstSWRevNotesAdd
tblSoftwareRevisions.Update
tblSoftwareRevisions.Close
'Add the new Software Revision ID to the existing unit in tblUnits by editing the Null SoftwareID field
Dim tblUnits As DAO.Recordset
Set tblUnits = SerialNumberDatabase.OpenRecordset("tblUnits")
tblUnits.MoveFirst
Do Until tblUnits.EOF
If tblUnits!SerialNumber = Me.lstSerialNumber And tblUnits!PartNumber = Me.lstPartNumber Then
tblUnits.Edit
tblUnits!SoftwareID = DMax("SWRevID", "tblSoftwareRevisions")
tblUnits.Update
End If
tblUnits.MoveNext
Loop
MsgBox ("The Software Revision has been added for this unit")
End Sub
Private Sub cmdSaveHWRev_Click()
'Create an entry in Software Revisions
Dim SerialNumberDatabase As DAO.Database
Dim tblHardwareRevisions As DAO.Recordset
Set SerialNumberDatabase = CurrentDb
Set tblHardwareRevisions = SerialNumberDatabase.OpenRecordset("tblHardwareRevisions")
tblHardwareRevisions.AddNew
tblHardwareRevisions("HardwareRevision").Value = Me.lstHWRevAdd
tblHardwareRevisions("Assembly").Value = Me.PartNumber_tblUnits
tblHardwareRevisions("HWRevDate").Value = Me.lstHWRevDateAdd
tblHardwareRevisions("Notes").Value = Me.lstHWRevNotesAdd
tblHardwareRevisions.Update
tblHardwareRevisions.Close
'Add the new Software Revision ID to the existing unit in tblUnits by editing the Null SoftwareID field
Dim tblUnits As DAO.Recordset
Set tblUnits = SerialNumberDatabase.OpenRecordset("tblUnits")
tblUnits.MoveFirst
Do Until tblUnits.EOF
If tblUnits!SerialNumber = Me.lstSerialNumber And tblUnits!PartNumber = Me.lstPartNumber Then
tblUnits.Edit
tblUnits!HardwareID = DMax("HWRevID", "tblHardwareRevisions")
tblUnits.Update
End If
tblUnits.MoveNext
Loop
tblUnits.Close
MsgBox ("The Hardware Revision has been added for this unit")
End Sub
Private Sub cmdSearch_Click()
DoCmd.ShowAllRecords
DoCmd.RunCommand acCmdFind
End Sub
Private Sub Form_Current()
Me.lstUnitBuiltDate.Requery
If Me.txtSerialCount.Value > 1 Then
Me.tblReportedIssues_subform_Label.Visible = True
Me.tblReportedIssues_subform.Visible = True
Else
Me.tblReportedIssues_subform_Label.Visible = False
Me.tblReportedIssues_subform.Visible = False
End If
If Me.txtRMACount.Value > 1 Then
Me.tblReportedIssues_subform1_Label.Visible = True
Me.tblReportedIssues_subform1.Visible = True
Else
Me.tblReportedIssues_subform1_Label.Visible = False
Me.tblReportedIssues_subform1.Visible = False
End If
If Me.lstSerialNumber.Value < 1 Then
Me.txtSerialNote.Visible = True
Else
Me.txtSerialNote.Visible = False
End If
Me.lstSWRevAdd.Visible = False
Me.lstSWRevDateAdd.Visible = False
Me.lstSWRevNotesAdd.Visible = False
Me.lblSwRevAdd.Visible = False
Me.lblSWRevDateAdd.Visible = False
Me.lblSWRevNotesAdd.Visible = False
Me.cmdSaveSWRev.Visible = False
Me.lstSWRev.Visible = True
Me.lstSWRevDate.Visible = True
Me.lstSWRevNotes.Visible = True
Me.lblSWRev.Visible = True
Me.lblSWRevDate.Visible = True
Me.lblSWRevNotes.Visible = True
Me.lstHWRevAdd.Visible = False
Me.lstHWRevDateAdd.Visible = False
Me.lstHWRevNotesAdd.Visible = False
Me.lblHWRevAdd.Visible = False
Me.lblHWRevDateAdd.Visible = False
Me.lblHWRevNotesAdd.Visible = False
Me.cmdSaveHWRev.Visible = False
Me.lstHWRev.Visible = True
Me.lstHWRevDate.Visible = True
Me.lstHWRevNotes.Visible = True
Me.lblHWRev.Visible = True
Me.lblHWRevDate.Visible = True
Me.lblHWRevNotes.Visible = True
End Sub
Private Sub Form_Load()
Me.lstSWRevAdd.Visible = False
Me.lstSWRevDateAdd.Visible = False
Me.lstSWRevNotesAdd.Visible = False
Me.lblSwRevAdd.Visible = False
Me.lblSWRevDateAdd.Visible = False
Me.lblSWRevNotesAdd.Visible = False
Me.cmdSaveSWRev.Visible = False
Me.lstSWRev.Visible = True
Me.lstSWRevDate.Visible = True
Me.lstSWRevNotes.Visible = True
Me.lblSWRev.Visible = True
Me.lblSWRevDate.Visible = True
Me.lblSWRevNotes.Visible = True
Me.lstHWRevAdd.Visible = False
Me.lstHWRevDateAdd.Visible = False
Me.lstHWRevNotesAdd.Visible = False
Me.lblHWRevAdd.Visible = False
Me.lblHWRevDateAdd.Visible = False
Me.lblHWRevNotesAdd.Visible = False
Me.cmdSaveHWRev.Visible = False
Me.lstHWRev.Visible = True
Me.lstHWRevDate.Visible = True
Me.lstHWRevNotes.Visible = True
Me.lblHWRev.Visible = True
Me.lblHWRevDate.Visible = True
Me.lblHWRevNotes.Visible = True
Me.lstUnitBuiltDate.Requery
End Sub
Private Sub lstRMA_Click()
MsgBox "This cannot be Edited or Altered", vbCritical, "Field Locked"
End Sub
Private Sub tblReportedIssues_subform_Enter()
MsgBox "This cannot be Edited or Altered. If you would like to review a listed RMA, please use the Search or Navigation buttons to locate it.", vbCritical, "Field Locked"
End Sub
If it matters, the form has a record source of "SELECT tblReportedIssues.*, tblUnits.Notes, tblUnits.SerialNumber AS SerialNumber_tblUnits, tblUnits.PartNumber AS PartNumber_tblUnits FROM tblUnits INNER JOIN (tblRMA INNER JOIN tblReportedIssues ON tblRMA.RMANumber = tblReportedIssues.RMA) ON (tblUnits.PartNumber = tblReportedIssues.PartNumber) AND (tblUnits.SerialNumber = tblReportedIssues.SerialNumber); "
With Settings as follows:
Record Set: Dynaset
Fetch Defaults: Yes
Filter: (blank)
Filter On Load: No
Order By: (blank)
Order on Load: No
Wait for Post Processing: No
Data Entry: No
Allow Additions: No
Allow Deletions: No
Allow Edits: Yes
Allow Filters: Yes
Record Locks: No Locks
These settings and Record Source work on my back-up file in that they allow everything to load correctly.
I'm an idiot. After much investigation, it appears I accidentally selected the Detail bar in design mode and changed its visibility to No while I was trying to hide other controls.
How can I optimize all of these routes into one. As we do in .htaccess file.
routes.addemails.type = "Zend_Controller_Router_Route_Regex"
routes.addemails.route = "campaign/email/add"
routes.addemails.defaults.module = campaignManagement
routes.addemails.defaults.controller = Email
routes.addemails.defaults.action = add
routes.updateEmail.type = "Zend_Controller_Router_Route_Regex"
routes.updateEmail.route = "campaign/email/edit/?([a-zA-Z0-9_-]+)?"
routes.updateEmail.defaults.module = campaignManagement
routes.updateEmail.defaults.controller = Email
routes.updateEmail.defaults.action = edit
routes.updateEmail.map.key = 1
routes.delEmail.type = "Zend_Controller_Router_Route_Regex"
routes.delEmail.route = "campaign/email/delete/?([a-zA-Z0-9_-]+)?"
routes.delEmail.defaults.module = campaignManagement
routes.delEmail.defaults.controller = Email
routes.delEmail.defaults.action = delete
routes.delEmail.map.id = 1
I've not set up a route using a config file, but at a glance try:
routes.emails.route = "campaign/email/(add|edit|delete)/?([a-zA-Z0-9_-]+)?"
routes.emails.map.action = 1
routes.emails.map.id = 2
I am assuming that the map.* are the variables in the url (so action is the first bit of regex, with id being the second bit of regex. Correct me if I'm wrong).