Comments (7)
Could you please elaborate on why this is useful.
from dstep.
Some cases:
- Struct I just need signature.
- Symbol inside a file but dstep force me to import all
- Ignore errors by dstep on enum/struct/functions I don't care about
- Clean binding importing only functions I need (it's easier to maintain in future)
For example check:
https://github.com/2night/mondo/blob/master/source/mongoc.d#L103
That struct it's not a valid d code. Anyway I need just its definition.
Or:
https://github.com/2night/mondo/blob/master/source/mongoc.d#L8
I need just a couple of functions from libbson to interface with libmongo, I don't care about other functions/structs from library. And if they will add function/struct/enum/typdef I don't like to have them added to my binding. For exampl symbols could be collide with existing imported symbols or generate invalid D code.
from dstep.
I prefer to fix DStep to not generate invalid code in the first place.
from dstep.
You're right, of course. But anyway I have to write a dirty-script to fix error with a workaround. It would be better to have some options to skip them. Also to keep binding stable also if they add new things, as said.
It would be fun to have dstep as library. I give it a source and it returns a range of translated definition/declarations. So I can filter them or merge easily. (and dstep app could be built over this library).
from dstep.
What about adding --skip
and --skipdef
switches to CLI. The first one would remove the translated item from the output completely and the second one would remove the definition of structs (keep only the declaration). For instance:
dstep ... --skip foo --skip bar --skip baz --skipdef _bson_value_t
It starts to be quite long, but it would be still useful for someone who uses dstep as part of some script.
from dstep.
--skipdef
would translate struct Foo { int a; }
to struct Foo
?
from dstep.
Yes, that is the idea.
from dstep.
Related Issues (20)
- error: must use 'struct' tag to refer to type ... HOT 3
- typedef <typeA> <typeB>; when typeA is not in scope HOT 6
- Preprocessor macro with variadic args dropped without warning HOT 3
- LL integer literal suffix not recognized in `#define` macros HOT 1
- Pointer arithmetic and parentheses elision
- Dstep + bindbc HOT 1
- `--normalize-modules` insert underscore in the module decl but not in the filename
- typedef function prototypes don't retain arguments HOT 5
- dub run failure - ld cannot find @linker_flags.txt HOT 4
- doc error:
- Missing import HOT 2
- Unhandled type kind objCTypeParam HOT 2
- const T arr[] gets converted to imcompatible const(T) *arr instead of a warning HOT 2
- Improper output when importing core.stdc.limits HOT 1
- Rename enum members can create invalid enum names HOT 1
- API macro erased but should be extern(System) HOT 2
- /usr/include/cuda_runtime_api.h ==> d: Error: undefined identifier `cudaError_t` HOT 6
- Assertion Failure when defining a cast from int to function pointer
- Unhandled type kind objCObject when trying to bind Foundation.framework on macOS
- enh? add enum alias (as dpp do) HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dstep.